hive表儲存為parquet格式

2021-08-27 03:15:43 字數 1818 閱讀 5541

hive0.13以後的版本

建立儲存格式為parquet的hive表:

create table parquet_test (

id int,

str string,

mp map,

lst array,

strct struct)

partitioned by (part string)

stored as parquet;

測試:

本地生成parquet格式的檔案

>>> import numpy as np

>>> import pandas as pd

>>> import pyarrow as pa

>>> df = pd.dataframe()

>>> table = pa.table.from_pandas(df)

>>> import pyarrow.parquet as pq

>>> pq.write_table(table, 'example.parquet2')

# 指定壓縮格式

# >>> pq.write_table(table, 'example.parquet2', compression='gzip')

# >>> pq.write_table(table, 'example.parquet2', compression='brotli')

# >>> pq.write_table(table, 'example.parquet2', compression='none')

>>> table2 = pq.read_table('example.parquet2')

>>> table2.to_pandas()

one two

0 test foo

1 lisi bar

2 wangwu baz

建立hive表並匯入生成的parquet格式資料

hive> create table parquet_example(one string, two string) stored as parquet;

hive> load data local inpath './example.parquet2' overwrite into table parquet_example;

hive> select * from parquet_example;

oktest foo

lisi bar

wangwu baz

time taken: 0.071 seconds, fetched: 3 row(s)

hive parquet配置

hive中支援對parquet的配置,主要有:

parquet.compression

parquet.block.size

parquet.page.size

可以在hive中直接set:

控制hive的block大小的引數:

parquet.block.size

dfs.blocksize

mapred.max.split.size

參考:

python讀寫parquet格式:reading and writing the apache parquet format;

hive支援parquet格式:parquet;

儲存為csv格式

def init self 開啟檔案,指定方式為寫,利用第3個引數把csv寫資料時產生的空行消除 self.f open 建設工程.csv a newline 設定檔案第一行的欄位名,注意要跟spider傳過來的字典key名稱相同 self.fieldnames city postdate titl...

Visio儲存為網頁出錯

visio 試圖儲存文件時出錯。已建立的頁面可能無效。試圖儲存文件時出錯。以建立的頁面可能無效。最近在用visio作圖的時候時長發生的問題。經過摸索,不覆蓋儲存沒有問題,如果覆蓋儲存,有時會有這個問題。解決辦法就是把以前生成的網頁和相關刪除,再生成一遍。如果那些檔案被svn管理,那就需要先commi...

Visual Studio 預設儲存為UTF8編碼

visual studio 中文版 預設儲存的文字檔案是gb2312編碼 頁936 的,預設的行尾 end of line 是crlf的。如果僅僅是在windows下開發問題也不大,但是涉及到跨平台開發的時候,就不是很滿意了。vs本身的檔案 高階儲存選項中是可以選擇儲存的編碼和行尾的,但是不支援為預...