配置单元查询o/p到HDFS作为CSV文件

配置单元查询o/p到HDFS作为CSV文件,csv,hadoop,hive,Csv,Hadoop,Hive,我想将配置单元查询输出以逗号分隔的CSV格式写入HDFS文件 对于本地目录: 以上工作正常,并将查询输出作为CSV格式写入本地目录 对于HDF: 写入HDFS的输出被序列化为文本,列由^A分隔,行由换行符分隔 注: 有没有办法将配置单元查询输出作为CSV文件逗号分隔写入HDFS目录只有一种方法。。 1.按照预期结果创建一个表 例如:创建外部表resultcol1类型、col2类型,…以“,”结尾的行格式分隔字段,存储为textfile位置“/tmp/result”; 2.将数据导入此表 例如:插

我想将配置单元查询输出以逗号分隔的CSV格式写入HDFS文件

对于本地目录:

以上工作正常,并将查询输出作为CSV格式写入本地目录

对于HDF:

写入HDFS的输出被序列化为文本,列由^A分隔,行由换行符分隔

注:

有没有办法将配置单元查询输出作为CSV文件逗号分隔写入HDFS目录只有一种方法。。 1.按照预期结果创建一个表 例如:创建外部表resultcol1类型、col2类型,…以“,”结尾的行格式分隔字段,存储为textfile位置“/tmp/result”; 2.将数据导入此表 例如:插入覆盖表结果从tablename中选择*; 3.放下外桌 例如:删除表格结果

删除外部表时,仅删除架构。数据将保留在指定目录中的文本文件中,该文件将采用逗号分隔格式。

请尝试以下操作:


插入覆盖目录“/home/test/result/”并从表中选择concatcol1'、'、col2'、'、…colN

要以自定义格式将数据写入hdfs,请使用printf


访问:@GauravDave我想在HDFS文件中写入。。不在本地目录中..已检查上述问题
INSERT OVERWRITE LOCAL DIRECTORY '/home/test/result/' 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * from table;
INSERT OVERWRITE DIRECTORY '/home/test/result/' SELECT * from table;
ROW FORMAT DELIMITED FIELDS  ---- Not supported for above query
insert overwrite directory "youroutputdir"  select printf("%s,%s,%d", col1, col2, col3) from mytable;