2017-02-09 10 views
1

Python SDK v0.5.5を使用して非常に基本的なDataFlowパイプラインを作成しています。パイプラインでは、クエリが渡されたBigQuerySourceが使用されます。これは、EUに存在するデータセットからBigQueryテーブルをクエリしています。 Google DataFlow別の場所で読み書きできません(Python SDK v0.5.5)

私は次のようなエラー(匿名化プロジェクト名)を取得していますパイプラインを実行する

HttpError: HttpError accessing <https://www.googleapis.com/bigquery/v2/projects/XXXXX/queries/93bbbecbc470470cb1bbb9c22bd83e9d?alt=json&maxResults=10000>: response: <{'status': '400', 'content-length': '292', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'transfer-encoding': 'chunked', 'expires': 'Thu, 09 Feb 2017 10:28:04 GMT', 'vary': 'Origin, X-Origin', 'server': 'GSE', '-content-encoding': 'gzip', 'cache-control': 'private, max-age=0', 'date': 'Thu, 09 Feb 2017 10:28:04 GMT', 'x-frame-options': 'SAMEORIGIN', 'alt-svc': 'quic=":443"; ma=2592000; v="35,34"', 'content-type': 'application/json; charset=UTF-8'}>, content <{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "invalid", 
    "message": "Cannot read and write in different locations: source: EU, destination: US" 
    } 
    ], 
    "code": 400, 
    "message": "Cannot read and write in different locations: source: EU, destination: US" 
} 
} 

プロジェクト、データセットとテーブル名を指定するときにエラーが発生します。しかし、利用可能な公開データセット(米国のようなシェイクスピアのようなもの)からデータを選択するときにエラーはありません。このエラーがないSDKのv0.4.4を実行しているジョブもあります。私は簡単にSDKとの異なるバージョンを見て撮影した

WARNING:root:Dataset does not exist so we will create it 

:パイプラインの起動時に警告によって示されているよう

これらのバージョンの違いは、一時データセットの作成ですこのtempデータセットの周りに違いがあるようです。現在のバージョンは(マスターから取られた)米国内の場所で、デフォルトで一時データセットを作成するように見えます:

私は無効にする方法を発見していませんこれらの一時データセットの作成。 EUのデータセットからデータを選択する際に、何かを見落としているのですか?

答えて

1

この問題を報告していただきありがとうございます。 DirectRunnerを使用していると仮定します。 DirectRunnerのBigQueryリードトランスフォームの実装を変更して、大きなデータセットをサポートするための一時データセット(SDKバージョン0.5.1以降用)を作成しました。この地域をここで正しく設定していないようです。これを修正する方法を検討します。

正しい地域における一時的なデータセットを作成しますDataflowRunnerを使用する場合、この問題は発生しません。

+0

これは、DirectRunnerを使用している場合に発生します。正直言って私はまだDataflowRunnerを試していませんでしたが、私はそれを行ってもいいでしょう。私は現在v0.4.4を使ってローカル開発を続けていますが、現在はうまく動作しています。ありがとう! –

+0

Googleの問題追跡ツールで問題へのリンクを追加して、その進捗状況を追跡できます。私の部署はまた、ローカルテストと開発のために 'DirectRunner'に頼っており、これが固定されているのを見てうれしく思います。どうも! – Juve

+0

DirectRunnerを更新してhttps://issues.apache.org/jira/browse/BEAM-1909を作成しました。ありがとう。 – chamikara

関連する問題