联合表/查询无效 - “无法读取位置:us-west1”

时间:2018-05-05 07:51:29

标签: google-bigquery

我在from fabric.context_managers import shell_env from functools import wraps def set_env(): def decorator(func): @wraps(func) def inner(*args, **kwargs): with shell_env(DJANGO_CONFIGURATION=env.config): run("echo $DJANGO_CONFIGURATION") return func(*args, **kwargs) return inner return decorator @task @set_env() def testme(): pass 中有一个GCS存储桶:

enter image description here

该存储桶有两个文件:

  1. wiki_1b_000000000000.csv.gz
  2. wiki_1b_000000000001.csv.gz
  3. 我已经创建了一个外部表定义来读取这些文件:

    enter image description here

    此外部表定义所在的数据集也位于US-WEST1

    enter image description here

    当我查询时:

    US

    ..我收到以下错误:

      

    错误:无法读取位置:us-west1

    enter image description here

    我使用SELECT * FROM `grey-sort-challenge.bigtable.federated` LIMIT 100 进行了测试,效果很好。

    为什么这不适用于美国地区?

3 个答案:

答案 0 :(得分:1)

早先面对同样的事情。请参阅G的答案 - 现在必须使用us-central1:https://issuetracker.google.com/issues/76127552#comment11

答案 1 :(得分:0)

对于来自欧洲的人

如果您在尝试从外部源(区域 GCS 存储区)读取时遇到错误 Cannot read in location: EU,则必须按照 the same comment 将数据放置在区域 europe-west1 中。不幸的是,它尚未反映在 documentation 中。

答案 2 :(得分:0)

我想创建一个联合(外部表)来从每天导入的新 csv 文件中不断加载数据。

在尝试这样做时,我收到“错误:无法在位置读取:xxxx”

我通过以下方式解决了这个问题:

  1. 我重新创建了一个新的存储桶,这次选择美国(多个地区)
  2. 然后我返回到 BIG 查询并创建了一个新数据集,数据位置为美国 (US)

Presto!,我现在可以查询(不断更新)外部表!