我有多张table Hive 使用不同的模式。我想从每个表中选择前20行并转储到csv文件中。有什么办法吗。因为我所发现的只是将数据从一个表转储到另一个表 csv. 任何帮助都将不胜感激!!
Hive
csv.
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
1条答案
按热度按时间g0czyy6m1#
如果你有不同的模式。
下面的示例代码将生成多个csv文件。
下面的示例代码将生成单个csv文件。