我想使用 Hive 将查询输出保存在 .csv 文件中。我在 hadoop 命令行中使用以下命令。
hive -e "SELECT t4 AS sev, COUNT(*) AS cnt FROM Samplelogs WHERE t4 LIKE '[%' GROUP BY t4" | sed 's/[\t]/,/g' >> outputfile.csv
但它会产生解析错误“无法识别 'hive' '-' 'e' 附近的符号”
最佳答案
我遇到了类似的问题,这就是我能够解决它的方法。
第 1 步 - 将 hive 表中的数据加载到另一个表中,如下所示
DROP TABLE IF EXISTS TestHiveTableCSV; CREATE TABLE TestHiveTableCSV ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' AS SELECT Column List FROM TestHiveTable;
第 2 步 - 将 blob 从 hive 仓库复制到具有适当扩展名的新位置
Start-AzureStorageBlobCopy
-DestContext $destContext
-SrcContainer "Source Container"-SrcBlob "hive/warehouse/TestHiveTableCSV/000000_0"
-DestContainer "Destination Container" ` -DestBlob "CSV/TestHiveTable.csv"
希望这对您有所帮助!
关于csv - 如何在 Hive 中将查询输出导出到 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900567/