簡體   English   中英

將HIVE導出為CSV

[英]Export HIVE to a CSV

我在HIVE中有一些數據,我想在LibreOffice中看到它。

如何導出此數據,然后將其導入Libreoffice

基於https://issues.apache.org/jira/browse/HIVE-1603

$ hive
hive> set hive.exec.compress.output=false;
hive> create table csv_dump ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' as
hive> select ...YOUR_SELECT_QUERY_HERE...;
$ hadoop dfs -cat /user/hive/warehouse/csv_dump/* > ~/csv_dump.csv

我有一個類似的問題,這就是我能夠解決它的方式。

步驟1 - 將hive表中的數據加載到另一個表中,如下所示

DROP TABLE IF EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV行格式已刪除的字段由','n'作為終止字符,由選擇列表列表從TestHiveTable;

步驟2 - 將hb倉庫中的blob復制到具有適當擴展名的新位置

Start-AzureStorageBlobCopy -DestContext $destContext -SrcContainer“Source Container” -SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0" -DestContainer“Destination Container”`-DestBlob“CSV / TestHiveTable.csv”

希望這可以幫助!

最誠摯的問候,Dattatrey Sindol(Datta) http://dattatreysindol.com

您可以通過Hive SerDe機制指定和自定義如何存儲表。 感謝GitHub上的ogrodnek用戶,有CSV SerDe實現。

它是一種過時的(hive 0.5),但可以很容易地被用於新的hive版本。 所有我必須做的就是成功 - 只需將構建配置更改為我的hive發行版和版本(我在kunkunur的pull請求中使用pom.xml for maven)並將這些行添加到CSVSerde.java中以滿足新的API:

import org.apache.hadoop.hive.serde2.SerDeStats;
....
....
@Override
public SerDeStats getSerDeStats() {
// no support for statistics
return null;
}

然后你可以運行hadoop dfs -get /table/or/partition/location /local/destination (甚至使用帶管道或單個文件輸出的-cat)從hadoop加載數據 - 它將已經是CSV格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM