我在配置单元中有一个表,其中有一个列表-使用collect\u set创建。当我查询表并将输出发送到csv文件时,列表将变为不同的列,而不是一列。
查询
hive - e "Select col1 from table" | sed 's/[\t]/,/g' > output.csv
当前csv输出有两列,如下所示
col1 col2
["Apple" "Mango"]
["Apple" "Pineapple"]
["Orange" "Mango"]
["Apple" "Mango"]
如何将文件输出为列col1:
col1
["Apple","Mango"]
["Apple","Pineapple"]
["Orange","Mango"]
["Apple","Mango"]
2条答案
按热度按时间enxuqcxy1#
以下是您在“当前csv”上的命令输出:
在每个字段之间,有一个制表符和3个空格。所以空格不能用逗号代替。如果你只是想把多余的空间移走,你也可以试试
输出:
不确定这是否是您想要的,但这将删除额外的空间。您仍将有两个列标题。在逗号分隔的文件中,您的列由逗号分隔,因此这仍然是2列。
voase2hg2#
我找到了一种使用配置单元查询的方法
我用分号分隔列表中的元素