【最佳實(shí)踐】使用DLI將CSV數(shù)據(jù)轉(zhuǎn)換為Parquet數(shù)據(jù)
Parquet是面向分析型業(yè)務(wù)的列式存儲(chǔ)格式,這種格式可以加快查詢速度,查詢Parquet格式數(shù)據(jù)時(shí),只檢查所需要的列并對(duì)它們的其值執(zhí)行計(jì)算,也就是說,只讀取一個(gè)數(shù)據(jù)文件或表的一小部分?jǐn)?shù)據(jù)。Parquet 還支持靈活的壓縮選項(xiàng),因此可以顯著減少磁盤上的存儲(chǔ)。使用DLI可輕松將CSV格式數(shù)據(jù)轉(zhuǎn)換為Parquet格式數(shù)據(jù)。
創(chuàng)建CSV數(shù)據(jù),例如,如圖1所示test.csv:
圖1 創(chuàng)建test.csv文件
在OBS上建桶obs-csv-parquet,并將test.csv文件上傳至OBS,如圖2所示:
圖2 上傳CSV數(shù)據(jù)至OBS
在DLI的SQL編輯窗口中創(chuàng)建OBS表test_csv_hw并導(dǎo)入test.csv數(shù)據(jù)。
create table test_csv_hw(id1 int, id2 int, id3 int, id4 int, id5 int) using csv options(path 's3a://obs-csv-parquet/test.csv')
在DLI的SQL編輯窗口中查詢表test_csv_hw中的數(shù)據(jù)。
圖3 查詢表test_csv_hw
在OBS上創(chuàng)建一個(gè)新的桶obs-parquet-data用于存儲(chǔ)Parquet數(shù)據(jù)。
在DLI的SQL編輯窗口中創(chuàng)建OBS表test_parquet_hw。
CREATE TABLE `test_parquet_hw` (`id1` INT, `id2` INT, `id3` INT, `id4` INT, `id5` INT)
USING parquet
OPTIONS (
path 's3a://obs-parquet-data/'
)
不需要指明具體的文件,因?yàn)樵趯?shù)據(jù)從CSV格式轉(zhuǎn)換為Parquet格式之前,不存在任何Parquet文件。
在DLI的SQL編輯窗口中將CSV數(shù)據(jù)轉(zhuǎn)換為Parquet數(shù)據(jù)并存儲(chǔ)在OBS中。
insert into test_parquet_hw select * from test_csv_hw
檢查結(jié)果,如圖4所示,系統(tǒng)自動(dòng)創(chuàng)建了一個(gè)文件用于保存結(jié)果。
圖4 保存Parquet數(shù)據(jù)
大數(shù)據(jù)分析
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。