从配置单元中的多个表中选择数据

ezykj2lf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(336)

我有多张table Hive 使用不同的模式。
我想从每个表中选择前20行并转储到csv文件中。
有什么办法吗。因为我所发现的只是将数据从一个表转储到另一个表 csv. 任何帮助都将不胜感激!!

g0czyy6m

g0czyy6m1#

如果你有不同的模式。
下面的示例代码将生成多个csv文件。


# !/bin/bash

  tbs=$(hive -S -e "show tables")
  for tb in $tbs
  do
    hive -e "set hive.cli.print.header=true; SELECT * FROM $tb LIMIT 20;" | sed 's/[\t]/,/g' > $tb.csv
  done

下面的示例代码将生成单个csv文件。


# !/bin/bash

  tbs=$(hive -S -e "show tables")
  for tb in $tbs
  do
    echo "Table Name : "$tb >> sampleData.csv
    hive -e "set hive.cli.print.header=true; SELECT * FROM $tb LIMIT 20;" | sed 's/[\t]/,/g' >> sampleData.csv
  done

相关问题