【问题标题】:How do I export hive query result to google cloud storage bucket as a CSV from GCE如何将 Hive 查询结果作为 CSV 从 GCE 导出到谷歌云存储桶
【发布时间】:2019-05-02 06:54:06
【问题描述】:

我有一个将查询结果写入 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

那么,如何将我的 Hive 查询结果存储在 GCS 存储桶中?

【问题讨论】:

    标签: hive google-cloud-platform google-cloud-storage hiveql


    【解决方案1】:

    您可以将 hive 查询写入您的实例,然后使用 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

    【讨论】:

    • 谢谢,@Nickson Thanda 我已经安装了云存储保险丝,它运行良好
    【解决方案2】:

    你也可以使用下面的查询,

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2016-04-26
      • 2019-09-22
      • 1970-01-01
      • 2019-04-29
      • 2019-09-22
      相关资源
      最近更新 更多