我有一个查询,可将查询结果写入CSV文件:
hive -e 'select * from transactions limit 50'>abc.csv
因此结果将存储在 abc.csv 中,该文件仅在该gcp实例中可用。
但是我需要将其导出到GCS存储桶中,以便以后将其转储到BigQuery中。
我尝试了类似的方法,但是没有用:
hive -e 'select * from transactions limit 50'>gs://my-bucket/abc.csv
那么,如何将我的配置单元查询结果存储在GCS存储桶中?
答案 0 :(得分:2)
您可以将配置单元查询写入实例,然后使用gsutil
命令将其移至存储桶。
gsutil mv abc.csv gs://my-bucket/abc.csv
如果您的实例上未安装gsutil,请按照此处提供的步骤操作:Install gsutil | Cloud Storage
要了解有关将存储桶与实例一起使用的更多信息,可以参考google文档:Connecting to Cloud Storage buckets
另一种选择是将云存储存储桶安装到实例中,从而使您可以将配置单元查询结果直接写入存储桶。
为此,您将需要使用Cloud Storage FUSE,可以按照此处的步骤进行安装:Cloud Storage FUSE | Cloud Storage
答案 1 :(得分:0)
您也可以使用下面的查询,
insert overwrite directory 'gs://bucket-name/file_name/' row format delimited \
fields terminated by ',' stored as textfile \
select * from <db_name>.<table_name> limit 10;
上述查询会将结果放入一个格式为 CSV 的文件中的指定存储桶位置。