使用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层,是最接近数据源中数据的一层,数据源中的数据,经过抽取.洗净. ...
随机推荐
- Gorm 入门介绍与基本使用
Gorm 入门介绍与基本使用 目录 Gorm 入门介绍与基本使用 一.ORM简介 1.1 什么是ORM 1.2 使用ORM的好处 1.2.1 避免直接操作SQL语句 1.2.2 提高代码的可维护性 1 ...
- 三线表制作(word)
三线表制作 转载:https://blog.csdn.net/zaishuiyifangxym/article/details/81668886
- python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}
相关文章和数据源: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] Python自动化办公--Pandas玩转Excel ...
- 2.11 PE结构:添加新的节区
在可执行PE文件中,节(section)是文件的组成部分之一,用于存储特定类型的数据.每个节都具有特定的作用和属性,通常来说一个正常的程序在被编译器创建后会生成一些固定的节,通过将数据组织在不同的节中 ...
- linux(centos) 下搭建svn服务器
1. 使用yum安装svn yum -y install subversion 安装完成之后,验证安装结果 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安 ...
- centos编译安装tcpdump
环境 CentOS Linux release 7.9.2009 (Core) 准备安装包 libpcap-1.5.3.tar.gz tcpdump-4.9.2.tar.gz 下载地址:https:/ ...
- uni-app+vue3会遇到哪些问题
已经用 uni-app+vue3+ts 开发了一段时间,记录一下日常遇见的问题和解决办法 uni-app 中的单端代码 uni-app 是支持多端,如果你想让你的代码,只在部分平台使用,那么就需要用的 ...
- C++遴选出特定类型的文件或文件名符合要求的文件
本文介绍基于C++语言,遍历文件夹中的全部文件,并从中获取指定类型的文件的方法. 首先,我们来明确一下本文所需实现的需求.现在有一个文件夹,其中包含了很多文件,如下图所示:我们如果想获取其中所 ...
- Java 将PDF转为PowerPoint (2行代码)
通过编程实现PDF转PPT的功能,可以自动化转换过程,减少手动操作的工作量,并根据需要进行批量转换.将PDF文件转换为PPT文档后,可以利用PPT的丰富功能和动画效果,达到更好的演示效果. 在Java ...
- [Java][并发编程]AQS以及其相关同步器的源码解析
AQS以及其相关同步器的源码解析 概念 AQS(AbstractQueuedSynchronizer)抽象的队列同步器.是用来构建锁或者其他同步器组件的重量级基础框架以及整个JUC体系的基石.通过内置 ...