加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Hive 导入 parquet 格式数据

发布时间:2020-12-25 20:53:01 所属栏目:大数据 来源:网络整理
导读:Hive 导入 parquet 数据步骤如下: 查看 parquet 文件的格式 构造建表语句 倒入数据 一、查看 parquet 内容和结构 下载地址 社区工具 GitHub 地址 命令 查看结构: java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d activity.201711171437.0.parque

Hive 导入 parquet 数据步骤如下:

  1. 查看 parquet 文件的格式
  2. 构造建表语句
  3. 倒入数据

一、查看 parquet 内容和结构

下载地址

  • 社区工具
  • GitHub 地址

命令

  1. 查看结构:
    java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d activity.201711171437.0.parquet |head -n 30

  2. 查看内容:
    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 文件

先安装 pyarrowfastparquet

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

参考

  • Parquet 格式文件,查看Schema
  • Using PyArrow with pandas
  • Reading and Writing the Apache Parquet Format

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读