Hive是一种数据仓库工具。它可以对大数据进行查询、分析和处理。对于处理后的结果,我们可以将它们保存到文件并指定列之间的分隔符。
保存查询结果到文件的命令是INSERT OVERWRITE LOCAL DIRECTORY 'filepath' ...
。其中,'filepath'是保存结果的文件路径。我们可以使用绝对路径或相对路径。'...'是查询语句。
例如,我们要将查询结果保存到/home/hadoop/result/result.txt文件中,查询语句为:
SELECT * FROM students LIMIT 10;
那么保存结果的命令为:
INSERT OVERWRITE LOCAL DIRECTORY '/home/hadoop/result'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT * FROM students LIMIT 10;
上述命令将查询结果保存到/home/hadoop/result文件夹中,并使用逗号作为列的分隔符。
在这个例子中,我们使用了ROW FORMAT DELIMITED FIELDS TERMINATED BY命令指定了列之间的分隔符。ROW FORMAT DELIMITED表示结果保存方式为分隔符文件,如逗号分隔、制表符分隔、垂直线分隔等等。而FIELDS TERMINATED BY则指定列之间的分隔符。
除了逗号分隔符,还有很多其他的分隔符可供选择,例如制表符分隔符、垂直线分隔符、^A分隔符等等。
对于存储到HDFS中的结果数据,我们使用Hive的INSERT OVERWRITE DIRECTORY 'filepath' ...命令。其中,'filepath'表示文件在HDFS上的存储路径。其余部分和保存到本地机的结果数据一样。
例如,我们要将查询结果保存到HDFS上的/user/hive/result/result.txt文件中,查询语句为:
SELECT * FROM students LIMIT 10;
那么保存结果的命令为:
INSERT OVERWRITE DIRECTORY '/user/hive/result'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT * FROM students LIMIT 10;
上述命令将查询结果保存到HDFS上的/user/hive/result文件夹中,并使用逗号作为列的分隔符。
总之,保存Hive查询结果到文件的命令是INSERT OVERWRITE LOCAL DIRECTORY,指定列之间的分隔符的命令是ROW FORMAT DELIMITED FIELDS TERMINATED BY。保存到HDFS的结果则使用INSERT OVERWRITE DIRECTORY命令。这些命令的使用可以让我们对我们对Hive查询结果的处理更加灵活和方便。