Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 从配置单元中的多个表中选择数据_Hadoop_Hive_Bigdata - Fatal编程技术网

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

Hadoop 从配置单元中的多个表中选择数据,hadoop,hive,bigdata,Hadoop,Hive,Bigdata,我在配置单元中有多个具有不同模式的表 我想从每个表中选择前20行并转储到csv文件中 有办法吗。正如我所发现的,将数据从单个表转储到csv 任何帮助都将不胜感激 如果您有不同的模式 1.下面的示例代码将生成多个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 2

我在配置单元中有多个具有不同模式的表

我想从每个表中选择前20行并转储到csv文件中

有办法吗。正如我所发现的,将数据从单个表转储到csv


任何帮助都将不胜感激

如果您有不同的模式

1.下面的示例代码将生成多个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
2.下面的示例代码将生成单个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

单个CSV文件还是多个文件?我们可以相信您的表只包含基本类型而不包含数组、结构等吗?@DuduMarkovitzca single CSV file@dududumarkovitz是的,它们只包含基本类型。越来越好:-使用beeline如何?如果需要配置单元脚本,我如何编写类似的代码来生成单个csv。配置单元脚本中不可能循环。是否有在配置单元脚本中写入的特定要求?@ManishSaraf是否可以显示每个表的名称,然后将其内容转储到csv中。是的,这是可能的。我已经更新了脚本。请看一看。