2016-08-17 9 views
2

毎朝、自動ジョブによってAvroファイルから新しいテーブルが作成されます。午後には、クエリからこのテーブルにデータを追加する必要があります。BigQueryのAvroファイルから作成されたテーブルへのデータの追加

そうしようとすると、私は次のエラーを取得する:

Error: Invalid schema update. Field chn has changed mode from REQUIRED to NULLABLE 

、私はBigQueryのウェブUIにNULLABLEREQUIREDからフィールドchnのプロパティを変更することができることに気づいたし、それが正常に動作しますしかし私は毎日手動でそれをやらなければならないでしょう。これは私が探しているものではありません。

追加クエリ中にフィールドを "キャスト"してREQUIREDと表示されますか?

また、Avroファイルからの最初のインポート時に、ではなく、REQUIREDのフィールドを強制しますか?

ありがとうございます!

答えて

3

クエリまたはロードジョブの一部としてフィールドをリラックスさせる機能は、まもなく本番環境で使用可能になります。この回答がライブになると更新されます(おそらく1週間以内)。

更新日:2016年8月25日

あなたは、ロードまたはクエリのジョブ設定でschemaUpdateOptionsを供給することができます。 複数のオプションを提供できます。 これは、ロードまたはクエリジョブの副作用として更新される宛先テーブルのスキーマを許可します。スキーマの更新オプションは、2つの場合にサポートされています。

  • writeDispositionがwriteDispositionがWRITE_TRUNCATEで、宛先表がテーブルのパーティションである場合には、パーティションデコレータ非パーティション表の場合 で指定され、WRITE_TRUNCATEは常にスキーマを上書きしますWRITE_APPEND
  • とき。
  • 次の値がサポートされています。

  • ALLOW_FIELD_ADDITION:スキーマ
  • ALLOW_FIELD_RELAXATIONにNULL可能フィールドを追加することができ:これはしていません:
  • NOTEをNULL可能で、オリジナルのスキーマに必要なフィールドを緩和することができ現在、スキーマの自動検出を使用しています。私たちはすぐにそれをサポートするつもりです。

    +0

    ここに更新情報がありますか? – Pentium10

    +0

    変更は有効ですが、ドキュメントの問題が発生しています。私はすぐに使用する方法の詳細をこのポストに更新します –

    +0

    ドキュメントにはもう少し時間がかかるので、オプションの使い方の簡単な説明で答えを更新しました。 –

    関連する問題