假设我们有一张这样的Hive桌
name id age
jones 12 34
george joseph 13 45
bush 15 23
现在我想把这个配置单元表输出到csv和管道分隔的文件中。我遵循了如何将hiveql查询的结果输出到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
我要乔治·约瑟夫排在第一列。因为georgejoseph包含中间空格,所以它的输出将被输出到下一列。如何解决这个问题??
2条答案
按热度按时间uurity8g1#
如果您的查询不包含join或so标准,那么您可以很容易地从相应的hdfs位置获取数据。数据将被|(管道)按照所提到的分隔符分开。
nzk0hqpo2#
配置单元列由'\t'分隔,假设“george”和“joseph”由空格分隔,则没有任何问题。你可以用vim检查分离器,只需输入
:set list
. 选项卡将标记为^I
要查看输出文件,例如,可以使用libreoffice calc,但必须确保仅将制表符而不是空格用作分隔符