小编JD-*_*D-V的帖子

BigQuery 在追加模式下加载数据因 Hive 分区失败

我的 GCS 中有以下数据结构

gs://BUCKET/inventory/date=2019-01-01/val=4/data.json
gs://BUCKET/inventory/date=2019-01-01/val=5/data.json

gs://BUCKET/inventory/date=2019-01-02/val=4/data.json
..
Run Code Online (Sandbox Code Playgroud)

我想将此数据加载到具有上述配置单元分区字段的现有 Bigquery 表中。现有的 BQ 表还包含 date 和 val 列,它们在路径中被引用为 hive 分区

job_config = bigquery.LoadJobConfig()
hive_partitioning = bigquery.external_config.HivePartitioningOptions()
hive_partitioning.mode = "AUTO"
hive_partitioning.source_uri_prefix = "gs://BUCKET/inventory" #path to hive partition data

job_config.hive_partitioning=hive_partitioning
job_config.autodetect = True
job_config.source_format="NEWLINE_DELIMITED_JSON"
job_config.write_disposition = bigquery.WriteDisposition.WRITE_APPEND

uri = "gs://BUCKET/inventory/*.json"    #path to data

output_dataset_ref = client.dataset("dataset_name")
load_job = client.load_table_from_uri(
    uri, output_dataset_ref.table("table_name"), job_config=job_config
)  # API request

load_job.result()  # Waits for table load to complete.
print("Load complete for table {}".format("table_name"))
Run Code Online (Sandbox Code Playgroud)

作业配置能够检测 Hive 分区列,例如日期和值。但作业失败并出现错误,指出日期列已存在。

但是,如果我尝试在新表中加载数据,则此代码可以工作,并且还可以添加 Hive …

google-bigquery

5
推荐指数
0
解决办法
1218
查看次数

从 uwp 应用程序中的代码打开表情符号面板

winWindows 允许用户通过在任何文本框中按+打开表情面板.。我想知道是否有办法通过调用某种方法来打开它。

表情面板

c# windows uwp

3
推荐指数
1
解决办法
1305
查看次数

标签 统计

c# ×1

google-bigquery ×1

uwp ×1

windows ×1