Hive 導入 parquet 格式數據


Hive 導入 parquet 數據步驟如下:

  1. 查看 parquet 文件的格式
  2. 構造建表語句
  3. 倒入數據

一、查看 parquet 內容和結構

下載地址

命令

  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

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM