开始直接在 CDH Pyspark 的环境里面运行 Ipython 。

spark = SparkSession \
.builder \
.master('yarn') \
.appName('md_day_dump_users') \
.enableHiveSupport() \
.getOrCreate()

In [3]: spark.sql('show databases').show()
+------------+
|databaseName|
+------------+
| default|
+------------+

可以用看到,我们直接使用这个配置去读取 hive 数据库并不能获得我们想要的数据库,而是只能读取到一个 default 默认数据库。

很明显是我们现在的 client 端还并没有得到 hive metastore 数据库的数据。无法知晓现在 hive 数据库的情况。

所以我们需要为其添加一些参数让他能读取到 hive 的 metastore,通过访问 hive 的 metastore.uris 就可以用获取,我们使用配置

spark = SparkSession \
.builder \
.master('yarn') \
.appName('md_day_dump_users') \
.config("hive.metastore.uris", "thrift://ryze-1:9083") \
.enableHiveSupport() \
.getOrCreate()
spark.sql("show databases").show() +-------------+
| databaseName|
+-------------+
|ads_algorithm|
| analytics_db|
| course|
| default|
|dw_dim_global|
| dw_matrix|
| member|
| pay|
| recommend|
| sensors|
| tmp|
| user|
| yanzhi|
+-------------+

替换当前的配置,就可以了。

在 ipython 跑通整个流程之后,剩下的我们就是在当前权限用户下安装 Jupyter 。按照官方教程来安装,注意我们使用的是 Python2.7.x 所以要选择 2.7.x 的安装方法,最终我的同事折腾了一下还替换掉一个 kernal 搞定。跑起来之后就可以从服务器上直接通过 SparkSession 来方便的使用 Spark 测试跑数据或者出数据了。

另外需要注意的一点是,由于我们使用的是 CDH ,可以非常方便的动态配置资源池,在为了不影响其他同步任务的情况下,我为 Jupyter 配置了单独的支援池,可以和其他池子里面的任务互不影响。因为这个脚本可能起多个,所以如果我们起得太多可能会影响到正常的同步脚本和任务使用资源。

使用特定的池也很简单,指定参数  .config('spark.yarn.queue', 'root.jupyter')  即可。

Reference:

https://stackoverflow.com/questions/51128243/hive-databases-only-list-default-db  hive-databases-only-list-default-db

https://stackoverflow.com/questions/31980584/how-to-connect-to-a-hive-metastore-programmatically-in-sparksql  how-to-connect-to-a-hive-metastore-programmatically-in-sparksql

https://stackoverflow.com/questions/48646097/setting-yarn-queue-in-pyspark  setting-yarn-queue-in-pyspark

CDH 集群机器上部署 Jupyter notebook 使用 Pyspark 读取 Hive 数据库的更多相关文章

  1. CDH集群搭建部署

    1. 硬件准备     使用了五台机器,其中两台8c16g,三台4c8g.一台4c8g用于搭建cmServer和NFS服务端,另外4台作为cloudera-manager agent部署CDH集群. ...

  2. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  3. 1.还不会部署高可用的kubernetes集群?看我手把手教你使用二进制部署v1.23.6的K8S集群实践(上)

    公众号关注「WeiyiGeek」 设为「特别关注」,每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 ...

  4. CDH集群部署hive建表中文乱码

    背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码. 现象:hive端建表中文注释乱码. 定位: 已经确认过 ...

  5. 部署CDH集群环境准备

    一.系统centOS7以上,至少三台主机 添加ip 主机名映射关系:(每台主机都要做) vim /etc/hosts 127.0.0.1 localhost localhost.localdomain ...

  6. 【docker】【redis】2.docker上设置redis集群---Redis Cluster部署【集群服务】【解决在docker中redis启动后,状态为Restarting,日志报错:Configured to not listen anywhere, exiting.问题】【Waiting for the cluster to join...问题】

    参考地址:https://www.cnblogs.com/zhoujinyi/p/6477133.html https://www.cnblogs.com/cxbhakim/p/9151720.htm ...

  7. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  8. CDH集群安装&测试总结

    0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...

  9. CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

随机推荐

  1. Java学习笔记之——TreeMap

    TreeMap: 特点:存储时,按照键排序 底层使用一个红黑树,特殊的而二叉树 排序跟comparable,comparator有关系 如果需要在添加时进行排序,使用hashMap即可 构造方法: T ...

  2. WordPress在Centos下Apache设置伪静态方法

    1.设置httpd.conf文件 1.1 添加或取消注释这段代码 LoadModule rewrite_module modules/mod_rewrite.so 1.2 运行httpd -M查看这个 ...

  3. git操作+一个本地项目推到github上+注意

    git init 创建新文件夹,打开,然后执行以创建新的 git 仓库. git config --global user.name "xxx" git config --glob ...

  4. Burnside引理与Polya定理

    感觉这两个东西好鬼畜= = ,考场上出了肯定不会qwq.不过还是学一下吧用来装逼也是极好的 群的定义 与下文知识无关.. 给出一个集合$G = \{a, b, c, \dots \}$和集合上的二元运 ...

  5. iOS----------常用三方库

    1.笔者常用三方库 名称 作用 说明 <small>AFNetworking <small>基于HTTP/HTTPS 联网请求 <small> <small& ...

  6. 总结XSS与CSRF两种跨站攻击

    XSS:跨站脚本(Cross-site scripting),实际应是"CSS",但由于和层叠样式表CSS名称冲突,故改为"XSS" CSRF:跨站请求伪造(C ...

  7. 微信小程序下拉刷新和上拉加载的实现

    一: 下拉刷新 下拉刷新两个步骤就能实现. 1.在要实现下拉刷新的页面的json配置文件里面加上 "enablePullDownRefresh": true, //开启下拉刷新 & ...

  8. [翻译]:MySQL Error: Too many connections

    翻译:MySQL Error: Too many connections   前言: 本文是对Muhammad Irfan的这篇博客MySQL Error: Too many connections的 ...

  9. OLW (Open Live Writer)安装代码高亮插件方法(简明)

    1.首先下载OLW代码高亮插件,请点击--->OLW代码高亮插件 2.在你安装OLW的目录下(顺便说一下默认的安装目录为C:\Users\你的用户名\AppData\Local\OpenLive ...

  10. SQLServer之创建全文索引

    创建全文索引的必须条件 必须具有全文目录,然后才能创建全文索引. 目录是包含一个或多个全文索引的虚拟容器. 使用SSMS数据库管理工具创建全文索引 1.连接数据库,选择数据库,选择数据表->右键 ...