翼度科技»论坛 编程开发 python 查看内容

使用python连接hive数仓

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
1 版本参数

查看hadoop和hive的版本号
  1. ls -l /opt
  2. # 总用量 3
  3. # drwxr-xr-x  11 root  root  227 1月  26 19:23 hadoop-3.3.6
  4. # drwxr-xr-x  10 root  root  205 2月  12 18:53 hive-3.1.3
  5. # drwxrwxrwx.  4 root  root   32 2月  11 22:19 tmp
复制代码
查看java版本号
  1. java -version
  2. # java version "1.8.0_391"
  3. # Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
  4. # Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
复制代码
查看mysql版本号
  1. mysql --version
  2. # mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)
复制代码
2 启动环境

启动hadoop集群
  1. start-all.sh
  2. # WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
  3. # Starting namenodes on [ml]
  4. # 上一次登录:三 3月  6 23:34:59 CST 2024tty1 上
  5. # Starting datanodes
  6. # 上一次登录:三 3月  6 23:37:56 CST 2024pts/0 上
  7. # Starting secondary namenodes [ml]
  8. # 上一次登录:三 3月  6 23:38:01 CST 2024pts/0 上
  9. # Starting resourcemanager
  10. # 上一次登录:三 3月  6 23:38:30 CST 2024pts/0 上
  11. # Starting nodemanagers
  12. # 上一次登录:三 3月  6 23:39:01 CST 2024pts/0 上
复制代码
查看hadoop集群状态
  1. jps|sort
  2. # 2337 NameNode
  3. # 2548 DataNode
  4. # 3161 ResourceManager
  5. # 3379 NodeManager
  6. # 5654 Jps
复制代码
启动hiveserver2服务
  1. nohup hiveserver2 &
  2. # [1] 7486
  3. # (pyspark) (base) [root@~ ~]# nohup: 忽略输入并把输出追加到"nohup.out"
  4. #
复制代码
检测hiveserver2状态
  1. jps|grep 7486
  2. # 7486 RunJar
复制代码
检测thrift端口号状态
  1. netstat -anp|grep 10000
  2. # tcp6    0    0 :::10000    :::*    LISTEN    7486/java
复制代码
3 安装环境

安装python第三方库
  1. conda install sasl
  2. conda install thrift
  3. conda install thrift-sasl
  4. conda install pyhive
  5. conda install sqlalchemy
  6. conda install pandas
复制代码
使用everything检索sasl2文件夹并打开该文件夹
在open git bash here窗口查看sasl2里面的文件
  1. ls
  2. # saslANONYMOUS.dll*  saslLOGIN.dll*  saslPLAIN.dll*   saslSQLITE.dll*
  3. # saslCRAMMD5.dll*    saslNTLM.dll*   saslSASLDB.dll*  saslSRP.dll*
  4. # saslDIGESTMD5.dll*  saslOTP.dll*    saslSCRAM.dll*
复制代码
创建C:/CMU/bin/sasl2文件夹
拷贝当前文件夹的dll文件到C:/CMU/bin/sasl2文件夹中
  1. mkdir -p C:/CMU/bin/sasl2
  2. cp ./* C:/CMU/bin/sasl2/
复制代码
4 读取数据

编写python脚本连接hive数仓
  1. import pandas as pd
  2. from pyhive import hive
  3. from sqlalchemy import create_engine
  4. engine = create_engine('hive://root:ml123456@ml:10000/default?auth=LDAP')
  5. df = pd.read_sql_query('show databases',con=engine)
  6. df.head()
复制代码
能看到数据库名记录就证明连接成功

来源:https://www.cnblogs.com/mlcode/p/18060136/pyhive
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具