如何将hiveql查询的结果输出到csv?

hmtdttj4  于 2021-06-03  发布在  Hadoop
关注(0)|答案(18)|浏览(598)

我们希望将配置单元查询的结果放入csv文件。我想命令应该是这样的:

insert overwrite directory '/home/output.csv' select books from table;

当我运行它,它说它成功地完成了,但我永远找不到文件。我该如何找到这个文件,还是应该以不同的方式提取数据?

gc0ot86w

gc0ot86w16#

我可能会迟到,但我会帮你回答:
echo“col | u name1 | col | u name2 | col | u name3 | col | u name4”>sample | data.csv hive-e'如果需要,从表| name where子句中选择不同的concat(col | 1,“|”,col |”,col | 2,“|”,col |”,col | 3示例数据.csv

zzwlnbp8

zzwlnbp817#

此shell命令以csv格式将输出格式打印到 output.txt 没有列标题。

$ hive --outputformat=csv2 -f 'hivedatascript.hql' --hiveconf hive.cli.print.header=false > output.txt
cig3rfwq

cig3rfwq18#

使用命令:
hive-e“使用[数据库名称];从[table\u name]limit 10中选择*;“>/路径/到/文件/我的文件名.csv
我有一个巨大的数据集,其中的细节我试图组织和确定攻击的类型和每种类型的数量。我在实践中使用的一个例子是这样的:

hive -e "use DataAnalysis;
select attack_cat, 
case when attack_cat == 'Backdoor' then 'Backdoors' 
when length(attack_cat) == 0 then 'Normal' 
when attack_cat == 'Backdoors' then 'Backdoors' 
when attack_cat == 'Fuzzers' then 'Fuzzers' 
when attack_cat == 'Generic' then 'Generic' 
when attack_cat == 'Reconnaissance' then 'Reconnaissance' 
when attack_cat == 'Shellcode' then 'Shellcode' 
when attack_cat == 'Worms' then 'Worms' 
when attack_cat == 'Analysis' then 'Analysis' 
when attack_cat == 'DoS' then 'DoS' 
when attack_cat == 'Exploits' then 'Exploits' 
when trim(attack_cat) == 'Fuzzers' then 'Fuzzers' 
when trim(attack_cat) == 'Shellcode' then 'Shellcode' 
when trim(attack_cat) == 'Reconnaissance' then 'Reconnaissance' end,
count(*) from actualattacks group by attack_cat;">/root/data/output/results2.csv

相关问题