如何将hiveql查询的结果输出到逗号分隔或管道分隔的文件?

x759pob2  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(335)

假设我们有一张这样的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包含中间空格,所以它的输出将被输出到下一列。如何解决这个问题??

uurity8g

uurity8g1#

如果您的查询不包含join或so标准,那么您可以很容易地从相应的hdfs位置获取数据。数据将被|(管道)按照所提到的分隔符分开。

nzk0hqpo

nzk0hqpo2#

配置单元列由'\t'分隔,假设“george”和“joseph”由空格分隔,则没有任何问题。你可以用vim检查分离器,只需输入 :set list . 选项卡将标记为 ^I 要查看输出文件,例如,可以使用libreoffice calc,但必须确保仅将制表符而不是空格用作分隔符

相关问题