随笔分类 - Spark
摘要:在 jupyter 上启用 local 交互环境和 spark 进行交互使用 imapla 来帮助 spark 取数据却失败了 可以清楚的看到报出的错误 No suitable driver ,我们需要添加上 impala 的 jdbc driver 才能正常运行。 首先我们下载一个 impala
阅读全文
摘要:之前对 SQL 还是不是非常熟悉的,但是现在或多或少还是会写一些计算任务。比如最近在推送将所有天级的耗时任务都从传统关系型数据库迁移至 Spark 集群当中进行计算,中间遇到一些有趣的小问题在这里记录一下。 Q: 我想按照某个字段分组并且把一组查询字段连起来得到一个 json 然后把结果作为一个字段
阅读全文
摘要:在使用 CDH 6.0.X 的版本还是自带的是 Spark2.2 的版本,2.2 版本的 Spark 使用 saveAsTable 如果使用overWrite PartitionBy 的功能会有和 hive 行为不一致的地方。 比如我们目前有两个分区 2019-03-22 和 2019-03-23
阅读全文
摘要:背景 做过数据清洗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 的方法,
阅读全文
摘要:网上提交 scala spark 任务的攻略非常多,官方文档其实也非常详细仔细的介绍了 spark-submit 的用法。但是对于 python 的提交提及得非常少,能查阅到的资料非常少导致是有非常多的坑需要踩。 官方文档对于任务提交有这么一段介绍,但是初次使用者依然会非常疑惑: Bundling
阅读全文
摘要:集群搭建完成之后其实还有很多配置工作要做,这里我列举一些我去做的一些。 首先是去把 zk 的角色重新分配一下,不知道是不是我在配置的时候遗漏了什么在启动之后就有报警说目前只能检查到一个节点。去将 zk 角色调整到三个节点。 上一张目前的角色图 下面我将分别列出各应用的各个简写代表的意义: Hbase
阅读全文
摘要:这次搭建我使用的机器 os 是 Centos7.4 RH 系的下面以流的方式纪录搭建过程以及注意事项 Step1: 配置域名相关,因为只有三台机器组集群,所以直接使用了 hosts 的方法: Step2: 关闭防火墙 Step3: 启动 NTP 服务 所有机器完成上面配置之后,我们开始进入安装的步骤
阅读全文
摘要:从这一篇文章开始会有三篇文章依次介绍集群搭建 「Before install」 「Process」 「After install」 继上一篇使用 docker 部署单机 CDH 的文章,当我们使用 docker 评估完相关组件和一些功能之后,接下来就是使用 CDH express 版本来搭建集群。
阅读全文
摘要:想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用。其实操作的流和使用到的命令差不多就一并说了: 首先前往官方下载包: https://www.cloudera.com/downloads/quickstart_vms/5-13.html 如果使用 mac 并
阅读全文
摘要:搭建最新的 Spark 2.3.1 。 首先需要下载最新版 jdk 。目前 2.3.1 需要 8.0 及其以上 jdk 才可以允许。 所以如果你没有 8.0 jdk 安装好了之后会报错。不要尝试安装 8.0 之后的版本 我尝试了这个版本使用 jdk 10 会有问题,所以老老实实使用 jdk8.0 去
阅读全文