使用python连接hive数仓
1 版本参数
查看hadoop和hive的版本号
ls -l /opt
# 总用量 3
# drwxr-xr-x 11 root root 227 1月 26 19:23 hadoop-3.3.6
# drwxr-xr-x 10 root root 205 2月 12 18:53 hive-3.1.3
# drwxrwxrwx. 4 root root 32 2月 11 22:19 tmp
查看java版本号
java -version
# java version "1.8.0_391"
# Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
# Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
查看mysql版本号
mysql --version
# mysql Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)
2 启动环境
启动hadoop集群
start-all.sh
# WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
# Starting namenodes on [ml]
# 上一次登录:三 3月 6 23:34:59 CST 2024tty1 上
# Starting datanodes
# 上一次登录:三 3月 6 23:37:56 CST 2024pts/0 上
# Starting secondary namenodes [ml]
# 上一次登录:三 3月 6 23:38:01 CST 2024pts/0 上
# Starting resourcemanager
# 上一次登录:三 3月 6 23:38:30 CST 2024pts/0 上
# Starting nodemanagers
# 上一次登录:三 3月 6 23:39:01 CST 2024pts/0 上
查看hadoop集群状态
jps|sort
# 2337 NameNode
# 2548 DataNode
# 3161 ResourceManager
# 3379 NodeManager
# 5654 Jps
启动hiveserver2服务
nohup hiveserver2 &
# [1] 7486
# (pyspark) (base) [root@~ ~]# nohup: 忽略输入并把输出追加到"nohup.out"
#
检测hiveserver2状态
jps|grep 7486
# 7486 RunJar
检测thrift端口号状态
netstat -anp|grep 10000
# tcp6 0 0 :::10000 :::* LISTEN 7486/java
3 安装环境
安装python第三方库
conda install sasl
conda install thrift
conda install thrift-sasl
conda install pyhive
conda install sqlalchemy
conda install pandas
使用everything检索sasl2文件夹并打开该文件夹
在open git bash here窗口查看sasl2里面的文件
ls
# saslANONYMOUS.dll* saslLOGIN.dll* saslPLAIN.dll* saslSQLITE.dll*
# saslCRAMMD5.dll* saslNTLM.dll* saslSASLDB.dll* saslSRP.dll*
# saslDIGESTMD5.dll* saslOTP.dll* saslSCRAM.dll*
创建C:/CMU/bin/sasl2文件夹
拷贝当前文件夹的dll文件到C:/CMU/bin/sasl2文件夹中
mkdir -p C:/CMU/bin/sasl2
cp ./* C:/CMU/bin/sasl2/
4 读取数据
编写python脚本连接hive数仓
import pandas as pd
from pyhive import hive
from sqlalchemy import create_engine
engine = create_engine('hive://root:ml123456@ml:10000/default?auth=LDAP')
df = pd.read_sql_query('show databases',con=engine)
df.head()
能看到数据库名记录就证明连接成功
使用python连接hive数仓的更多相关文章
- 在HUE中将文本格式的数据导入hive数仓中
今天有一个需求需要将一份文档形式的hft与fdd的城市关系关系的数据导入到hive数仓中,之前没有在hue中进行这项操作(上家都是通过xshell登录堡垒机直接连服务器进行操作的),特此记录一下. - ...
- Hive 数仓中常见的日期转换操作
(1)Hive 数仓中一些常用的dt与日期的转换操作 下面总结了自己工作中经常用到的一些日期转换,这类日期转换经常用于报表的时间粒度和统计周期的控制中 日期变换: (1)dt转日期 to_date(f ...
- python 连接 hive
1.python连接hive,其实是连接hiveserver,连接的包的impyla impyla安装: error: cc1plus 没有文件或目录 需要安装gcc 和g++,并且版本保持一致 er ...
- 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度
在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出 ...
- Hive数仓之快速入门(二)
上次已经讲了<Hive数据仓库之快速入门一>不记得的小伙伴可以点击回顾一下,接下来我们再讲Hive数据仓库之快速入门二 DQL hive中的order by.distribute by.s ...
- hive数仓客户端界面工具
1.Hive的官网上介绍了三个可以在Windows中通过JDBC连接HiveServer2的图形界面工具,包括:SQuirrel SQL Client.Oracle SQL Developer以及Db ...
- Hive数仓基础
架构图: 组成:SQL语句到任务执行需要经过解释器,编译器,优化器,执行器 解释器:调用语法解释器和语义分析器将SQL语句转换成对应的可执行的java代码或业务代码 编译器:将对应的java代码转 ...
- python 连接 hive 的 HiveServer2 的配置坑
环境: hadoop 2.7.6 hive 2.3.4 Hive 的 thirft 启动: hadoop 单机或者集群需要: 启动 webhdfs 修改 hadoop 的代理用户 <proper ...
- python 连接 hive数据库环境搭建
首先需要安装以下Python 包:(我用的是Python 2) 在安装Python包之前需要安装一些依赖工具: Debian/Ubuntu: apt-get install python-dev li ...
- Hive数仓
分层设计 ODS(Operational Data Store):数据运营层 "面向主题的"数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取.洗净. ...
随机推荐
- 深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)
深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别.实体.关系.属性抽取实战项目合集(含智能标注) 1.命名实体识别介绍 命名实体识别(Named Entity R ...
- P9474 [yLOI2022] 长安幻世绘题解
题目链接: [yLOI2022] 长安幻世绘 比较不错的综合题.考虑下处理极差的绝对值我们应该怎么做,很显然排序是有必要的,我们需要带着下标排序. 考虑几个核心点: 1.假如没有其他限制考虑极差与序列 ...
- DBGRIDEH 鼠标滚动 和 点击单元格解决思路【无意间看到,主从表】
DBGRIDEH 鼠标滚动 和 点击单元格因为我是用2个DBgridEH,主表数据变化(用的是OnCellClick),明细表也变化.现在的情况时,鼠标滚动时,明细表数据不变化好像也没看到相关的事件请 ...
- Hadoop组件兼容性
(1)HBase和Hadoop.zookeeper.JDK兼容版本 参考网址: https://hbase.apache.org/book.html 1)JDK和Hbase的兼容版本 对于JDK,最 ...
- HBase-表的压缩
一.如何选择压缩算法以及Data_Block_Encoding?(1)如果Key很长,或者有很多Column,那么推荐使用FAST_DIFF.(2)如果数据是冷数据,不经常被访问,那么使用GZIP压缩 ...
- Pandas分组聚合
groupby分组操作详解 在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析.比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用 ...
- 【framework】InputChannel创建流程
1 前言 IMS启动流程 中介绍了 IMS 在 Java 层和 Native 层的初始化流程,以及创建 NativeInputManager.InputManager.InputReader.Inpu ...
- React中refs的理解
React中refs的理解 Refs提供了一种方式,允许我们访问DOM节点或在render方法中创建的React元素. 描述 在典型的React数据流中,props是父组件与子组件交互的唯一方式,要修 ...
- P3879 [TJOI2010] 阅读理解(水题)
[TJOI2010] 阅读理解 题目描述 英语老师留了 N 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输入格式 第一 ...
- centos上使用makefile编译sliver时 提示gcc 错误,cannot find -ldl cannot find -lpthread cannot find -lc
github.com/bishopfox/sliver/server /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit ...