2016-08-12 20 views
0

question:データフローでスキーマを動的に更新するカスタムシンクを作成しましたか?Patch操作がBigQueryIO APIのどこかに公開されているのでしょうか?Dataflow Java SDKでのBigQueryパッチ操作

これは、オンザフライでスキーマを更新するための重要な部分です。後方互換性のある方法でスキーマをマージしています。

+0

そうではありません。これはBigQueryライブラリの一部です。 ParDoメソッドは任意のコードを呼び出すことができます。だから、BigQueryライブラリをインポートしてパス関数をそのように呼び出すのはなぜですか? –

+0

私はSideInputを使ってこれらの行に沿って試しましたが、bigqueryクライアントは直列化できません。 ... – Matt

+0

クライアントをParDoに直接渡すことはできませんが(直列化できません)、ネストされたクラス(つまり 'List()')を呼び出すことができますParDo内でexecute()を実行します。これは安全なアプローチですか?トップレベルで接続をインスタンス化しても、クライアントを呼び出すネストされたクラスのparDoを使用すると、接続はどのように管理されますか。 – Matt

答えて

1

これはSDK自体にはありませんが、DoFnからの副作用の標準パターンを使用できます。具体的には、作成するBigQueryクライアントは、DoFnsはシリアル化可能でなければならないため、一時的なマークを付ける必要があります。

class PatchFn extends DoFn<> { 
    private transient BigQuery bq; 
    ... 
} 
関連する問題