Hive 导入 parquet 格式数据
2023-02-18 16:46:51 时间
Hive 导入 parquet 数据步骤如下:
- 查看 parquet 文件的格式
- 构造建表语句
- 倒入数据
一、查看 parquet 内容和结构
下载地址
命令
-
查看结构:
java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d activity.201711171437.0.parquet |head -n 30
-
查看内容:
java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar head -n 2 activity.201711171437.0.parquet
parquet 和 hive 的 field 类型映射关系
BINARY -> STRING
BOOLEAN -> BOOLEAN
DOUBLE -> DOUBLE
FLOAT -> FLOAT
INT32 -> INT
INT64 -> BIGINT
INT96 -> TIMESTAMP
BINARY + OriginalType UTF8 -> STRING
BINARY + OriginalType DECIMAL -> DECIMAL
二、hive 命令
创建表
create table test_data(a bigint) stored as parquet;
# 创建表时可选择数据存储格式
Tips:分区 partitioned by (date string)
本地导入数据
load data local inpath '/path/data.parquet' into table test_database.test_table_name;
导入HDFS中的数据
load data inpath '/path/data.parquet' into table test_database.test_table_name;
Tips:区别是没有 local
三、pandas 数据导成 parquet 文件
先安装 pyarrow
或 fastparquet
库
import pandas as pd
>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
>>> df.to_parquet('df.parquet.gzip', compression='gzip')
>>> pd.read_parquet('df.parquet.gzip')
col1 col2
0 1 3
1 2 4
参考
相关文章
- 仿美洽客服系统-gin框架内核独立自主源码开发在线客服系统
- npx是什么
- 解决:Electron 发生错误 "Cannot find module app"
- windows下安装Electron并测试加载网址
- 正则表达式中^的用法
- 使用jQuery处理ctrl+enter或者enter发送信息事件
- phpmyadmin远程连接其他服务器数据库
- MySQL8 修改root用户登录密码
- windows下使用openssl将pfx格式证书转换成key和crt
- [MySQL]解决mysql数据库连接报错:is not allowed to connect to this mysql server
- [前端]解决React npm包管理器及npx安装网络慢的方式
- [前端]Preprocessor dependency "less" not found.
- 【日常】edge和chrome浏览器截屏工具快捷键
- 在线客服功能介绍-了解常见在线客服系统的功能点
- 外贸跨境电商网站常用的在线客服系统
- 【MySQL】mysql因为字符集导致left join出现Using join buffer (Block Nested Loop)
- 【微信公众号】对接公众号别忘了配置域名权限
- 如何给自己的网站接入在线客服系统代码
- [CSS] css使用first-child 和last-child 实现三条杠效果
- [CSS] css中display: table-cell 实现垂直居中