将配置单元导出到CSV

将配置单元导出到CSV,csv,hive,libreoffice,Csv,Hive,Libreoffice,我在HIVE中有一些数据,我想在LibreOffice中查看 如何导出此数据并稍后在Libreoffice上导入它您可以指定并自定义如何通过配置单元SerDe机制存储表。 多亏了GitHub上的ogrodnek用户,才有了实现 这是一种过时的配置单元0.5,但可以很容易地应用到新的配置单元版本中。 为了成功使用它,我只需将构建配置更改为我的配置单元发行版和版本,我在kunkunur的pull请求中使用了pom.xml for maven,并将以下代码添加到CSVSerde.java中以满足新的A

我在HIVE中有一些数据,我想在LibreOffice中查看


如何导出此数据并稍后在Libreoffice上导入它

您可以指定并自定义如何通过配置单元SerDe机制存储表。 多亏了GitHub上的ogrodnek用户,才有了实现

这是一种过时的配置单元0.5,但可以很容易地应用到新的配置单元版本中。 为了成功使用它,我只需将构建配置更改为我的配置单元发行版和版本,我在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/或/partition/location/local/destination,甚至使用-cat和管道或单个文件输出从hadoop加载数据-它将已经是CSV格式。

基于:


我有一个类似的问题,这就是我如何能够解决它

步骤1-将数据从配置单元表加载到另一个表中,如下所示

如果存在TestHiveTableCSV,则删除表; 创建表TestHiveTableCSV行格式分隔字段,以“,”结尾,以“\n”结尾的行作为 从TestHiveTable中选择列列表

步骤2-将blob从配置单元仓库复制到具有适当扩展名的新位置

启动AzureStorageBlobCopy -DestContext$DestContext -SrcContainer源容器 -SrcBlob配置单元/warehouse/TestHiveTableCSV/000000\u 0 -目的地集装箱目的地集装箱` -DestBlob CSV/TestHiveTable.CSV

希望这有帮助

致以最良好的祝愿, 达塔特里Sindol达塔酒店

欢迎来到StackOverflow!到目前为止,您尝试了什么?您目前的方法有什么不同?我创建了perl脚本:use Text::CSV;我的$csv=Text::csv->new或die无法使用csv:.Text::csv->error\u diag$csv->eol\r\n;虽然my$line=readline{chomp$line;my@cols=split/\x01/,$line;$csv->print*STDOUT,\@cols;}最后一个命令现在不推荐使用。等效的新命令几乎相同-hadoop fs-cat/user/hive/warehouse/csv\u dump/*>~/csv\u dump.csv。关键是hadoop将配置单元表映射到fs namespace/user/hive/warehouse。
$ 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