【问题标题】:Streaming JSON into Bigquery将 JSON 流式传输到 Bigquery
【发布时间】:2020-12-20 12:56:52
【问题描述】:

我从 Google Drive API 收到一个 Structs type File 数组。我的目标是添加一些字段并将数据流式传输到 BigQuery。

我的第一个方法是 change the File Struct 并将更新的结构流式传输到 BigQuery。这看起来像是一个死胡同,我正在尝试使用建议的方法,将 Struct 编入 JSON 并将其流式传输到 BigQuery。

我找到了这个例子bigquery-table-insert-rows,但它实现了ValueSaver 接口。对我来说,一个简单的 Marshall 然后将 JSON 流式传输到 BigQuery 就足够了。

但是,我找不到任何这样做的方法或示例。所以我想知道是否可以使用 Go 将 JSON 流式传输到 BigQuery。一个基本的例子会很棒。

【问题讨论】:

    标签: go google-bigquery google-drive-api


    【解决方案1】:

    您认为仅提供结构就足够了。

    也许看看一些简单但完整的代码会有所帮助:https://github.com/tovare/idporten

    我所做的只是放置一个结构切片,其中结构用 BigQuery 进行注释。

    type Metric struct {
        Timestamp time.Time `bigquery:"timestamp"`
        Metode    string    `bigquery:"metode"`
        Antall    int       `bigquery:"antall"`
    }
    

    ....

    seriesTableRef := client.Dataset(datasetName).Table(tableName)
        if err := seriesTableRef.Inserter().Put(ctx, metrics); err != nil {
            return err
        }
    

    【讨论】:

    • 我从 Drive API 收到的 Struct 与 BigQuery 不兼容,Struct 中有一个 map 字段。所以我不能将它们直接插入 BigQuery。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 2017-05-10
    • 2020-01-21
    • 2019-07-25
    相关资源
    最近更新 更多