开始直接在 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. 万能pb_ds头文件—bits/extc++.h

    c++中自带了一些非常强大却鲜为人知的功能库—pd_ds库 里面含有红黑树(rb_tree),哈希表(gp_hash_table),可持久化平衡树(rope)等超强数据结构 但是有一件非常令人头痛的事 ...

  2. 作为开发人员,这四类Code Review方法你都知道吗?

    本文翻译自:https://dzone.com/articles/4-types-of-code-reviews-any-professional-developer 转载请注明出处:葡萄城官网,葡萄 ...

  3. FocusListener焦点监听器

    [FocusListener焦点监听器] public class Demo extends JFrame { public Demo(){ setDefaultCloseOperation(Wind ...

  4. java之网络爬虫介绍

    文章大纲 一.网络爬虫基本介绍二.java常见爬虫框架介绍三.WebCollector实战四.项目源码下载五.参考文章   一.网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛, ...

  5. java线程介绍

    文章讲解要点 1.线程创建几种方式2.线程常见设置方法,包括优先级.优先级休眠.停止等3.多线程间的数据交互与锁机制4.项目源码下载   线程介绍.png 一.线程创建方式 常见的线程创建方法以下三种 ...

  6. DataSnap 多层返回数据集分析FireDAC JSON

    采用服务器返回数据,一种是返回字符串数据例如JSON,跨平台跨语言,任何语言调用都支持兼容,类似WEBService. 第二种是紧密结合c++builder语言,传输DataSet,可以是Client ...

  7. centos7搭建ftp

    1.检查安装vsftpd软件 rpm –qa |grep vsftpd 这里显示已经安装了,我们来卸载它重新安装 卸载vsftpd命令 rpm –e 文件名 显示卸载完成 安装vsftpd命令 Yum ...

  8. Linux下配置nfs并远程挂载实战探讨

    简单介绍: nfs是网络文件系统,允许一个节点通过网络访问远程计算机的文件系统,远程文件系统可以被直接挂载到本地,文件操作和本地没有区别,如果是局域网的nfs那么io的性能也可以保证 nfs是Netw ...

  9. linux命令之:yum

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  10. luogu P4842 城市旅行

    嘟嘟嘟 好题,好题 刚开始突发奇想写了一个\(O(n ^ 2)\)暴力,结果竟然过了?!后来才知道是上传题的人把单个数据点开成了10s-- 不过不得不说我这暴力写的挺好看的.删边模仿链表删边,加边的时 ...