假设我们有一个像这样的HIVE表
name id age
jones 12 34
george joseph 13 45
bush 15 23
现在我想将此hive表输出到csv和管道分隔文件。 我按照How do I output the results of a HiveQL query to CSV?中的步骤进行了操作。
hive -e 'select books from table' | sed 's/[[:space:]]\+/,/g' > /home/lvermeer/temp.csv
但它正在研究这些
name id age
jones 12 34
george joseph 13 45
bush 15 23
我希望乔治约瑟夫在一列中。由于乔治约瑟夫包含中间空格,因此输出到下一列。如何解决这个问题??
答案 0 :(得分:0)
如果您的查询不包含join或so criterias,那么您可以轻松地从相应的HDFS位置获取数据。根据提到的分隔符,数据将是(管道)分开的。
答案 1 :(得分:0)
Hive列由' \ t'分隔,假设" george"和"约瑟夫"由空格分隔,你没有任何问题。您可以使用 vim 查看分隔符,只需输入:set list
即可。标签将标记为^I
要查看输出文件,您可以使用,例如,LibreOffice Calc,但您必须确定,您仅使用分隔符作为分隔符,而不是空格