摘要:
我记得之前博客我也写过关于索引使用的文章,但是并不全面,这次尽量针对重点铺全面一点。 因为索引是数据引擎层的结构我们只针对最常见使用的 Innodb 使用的 B+Tree 搜索树结构进行介绍。 每一个在 InnoDB 的中的索引都对应一颗 B+Tree。举个栗子: 创建这样一个表,并且在字段 k 上 阅读全文
摘要:
在使用 CDH 6.0.X 的版本还是自带的是 Spark2.2 的版本,2.2 版本的 Spark 使用 saveAsTable 如果使用overWrite PartitionBy 的功能会有和 hive 行为不一致的地方。 比如我们目前有两个分区 2019-03-22 和 2019-03-23 阅读全文
摘要:
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别。为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个 阅读全文
摘要:
该篇其实重点涉及两个日志的使用和处理。 一个是 server 层的 binlog 一个是服务器层的 redolog。 首先还是根据主线来介绍当我们在执行更新语句的时候我们在做什么 Redo Log MySQL 使用一种叫 WAL(Write-Ahead Logging) 的技术,它达到的效果是,先写 阅读全文
摘要:
看了非常多 MySQL 相关的书籍和文章,没有看到过如此优秀的专栏。所以未来一段时间我会梳理读完该专栏的所学所得。 当我们在执行该查询语句的时候我们在干什么 让我们先来看一个架构示意图 MySQL 架构被清晰的分为了两层,服务器层 | 存储引擎层。 服务器层一般用于存放一些可以跨存储引擎执行的功能, 阅读全文
摘要:
Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问。最为我们熟知的一个文件或目录可能拥有三种权限,分别是读、写、和执行操作,在这里不做详细说明。我们创建一个文件后系统会默认地赋予所有者读和写权限。当然我们也可以自己修改它,添 阅读全文
摘要:
背景 做过数据清洗ETL工作的都知道,行列转换是一个常见的数据整理需求。在不同的编程语言中有不同的实现方法,比如SQL中使用case+group,或者Power BI的M语言中用拖放组件实现。今天正好需要在pyspark中处理一个数据行列转换,就把这个方法记录下来。 首先明确一下啥叫行列转换,因为这 阅读全文
摘要:
起初开始写一些 udf 的时候感觉有一些奇怪,在 spark 的计算中,一般通过转换(Transformation) 在不触发计算(Action) 的情况下就行一些预处理。udf 就是这样一个好用的东西,他可以在我们进行 Transformation 的时候给我们带来对复杂问题的处理能力。 这里有两 阅读全文
摘要:
开始直接在 CDH Pyspark 的环境里面运行 Ipython 。 In [3]: spark.sql('show databases').show()+ +|databaseName|+ +| default|+ + 可以用看到,我们直接使用这个配置去读取 hive 数据库并不能获得我们想要的 阅读全文
摘要:
在 Pyspark 操纵 spark-SQL 的世界里借助 session 这个客户端来对内容进行操作和计算。里面涉及到非常多常见常用的方法,本篇文章回来梳理一下这些方法和操作。 class pyspark.sql.SparkSession 类 下面是一个初始化 spark session 的方法, 阅读全文