2017-10-19 5 views
1

Dataflowで事前定義されたDataflowジョブテンプレートを使用して、Bigqueryストリーミング挿入を使用しています。nullqueryでdataflowを使用したBigqueryストリーミング挿入

このフィールドをヌルフィールドと繰り返しフィールドに使用すると、いくつかの特性に遭遇しました。

generic::invalid_argument: This field is not a record.","location":"name","message":"This field is not a record." 

それは十分に簡単ですので、これは、このような大したことではありません:スキーマ

{name: null}

がエラーで失敗し、挿入を実行しようとすると、

name STRING, NULLABLE 

と例えば

、空の配列を単純に削除し、同様に空の配列を削除します。

しかし、今、私たちのスキーマがある場合:

name STRING, REPEATED 

と我々は["a", "b", null, "c"]は、我々は第三の要素を参照し、同様のエラーを取得挿入したいです。

答えて

1

NULLABLEフィールドにNULL値を与えるには、挿入する行のフィールドを単に省略します。 2番目の例では、REPEATEDフィールド(またはSQL用語のARRAY)にはnull要素を入れることはできません。 NULLABLE STRINGの配列をモデル化するには、たとえば、valueというSTRINGフィールドを含むREPEATED RECORDを使用するか、SQL用語でARRAY<STRUCT<value STRING>>を使用します。

+0

ありがとうございます!後世のために、私はここでの混乱の一部は、データストアのエクスポートをbigqueryにロードする方法が構造化プロパティのスキーマを作成するためだと考えています。繰り返されるフィールドを持つ単一レコードとしてbigqueryにロードされます(繰り返しフィールドを持つ繰り返し構造化されたプロパティに対してどのように動作するかはわかりません...) Elliottが提案したものにすべて変更できました働いた。 – vmkrish

関連する問題