BigQueryの履歴テーブルに新しいフィールドを追加する

andrewm4894

Google AnalyticsデータをBigQueryに毎日エクスポートしており、これらがメインのレポートデータセットの基礎を形成しています。

時間の経過とともに、データを充実させるために使用する追加のもののために新しい列を追加する必要があります。たとえば、URLから「レポートカテゴリ」へのマッピングなどです。

これは、処理されたテーブルに新しい列として追加するだけで簡単です(現在、すべてのエンリッチメントに対して約10の処理ステップがあります)。

この問題は、利害関係者が質問した場合です-その新しい列を履歴データに追加できますか?

現在、私はすべての毎日のジョブを再実行する必要がありますが、これは非常に遅く、コストがかかります。

これは頻繁に発生するため、新しいフィールドを追加したり、古いダーティを修正したりする必要がある場合は、すべてのデータを本質的に削除して再作成する必要があるという事実に合わせて、データパイプラインを再設計することを真剣に考えています。データか何か。

私はただもっと良い方法があるかどうか疑問に思っています

  1. BQの古いテーブルに新しい列を追加します(基本的に行キーである定義したga [hit_key]に基づいて新しい列を結合できる場合は、手動でこれを行うことができます)
  2. (あまり一般的ではありません)いくつかのwhere条件に基づいて既存のテーブルを更新します。

ベストプラクティスとは何か、そして基本的に歴史的なシェマを更新する必要がある同様の問題が誰かにあるかどうか、そして基本的に私が現在行っていることを単にドロップして再作成せずにそれを行う方法があるかどうか疑問に思っています。

現在のアプローチをより明確にするために、[ga_sessions_yyyymmdd]テーブルを作成し、一連の[ga_data_prepN_yyyymmdd]テーブルを作成しています。ここでは、各ステップで新しい列を追加するか、何らかの方法でデータを削減します。現在、これらのステップは11あり、毎回100以上の列すべてを乗車しています。これは私がデザインを遠ざけることを試みるものです。現在、各段階の列の90%は、おそらくhit_keyなどに基づいて最後に結合できるため、タッチする必要さえありません。

バラバラにしようとするのは少し面倒です。

モシャ・パスマンスキー

既存の履歴テーブルのスキーマに新しい列を追加することは可能ですが、新しく追加された列の値はNULLになります。これらの列に値を入力する必要がある場合は、おそらくUPDATEDMLステートメントを使用するのが最善の方法です。試してみる方法の詳細はこちらです:BigQueryはUPDATE、DELETE、およびINSERT(SQL DML)ステートメントをサポートしていますか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

新しいテーブルに履歴を挿入する

分類Dev

Acumatica-在庫履歴照会画面に新しいフィールドを追加

分類Dev

既存のxBaseファイル/テーブルに新しいフィールド/列を追加する方法

分類Dev

SQLServerのビューに履歴テーブルを自動追加します

分類Dev

AndroidのSQLiteに新しいフィールドを追加する

分類Dev

Django-フィールドの履歴を保持する

分類Dev

デフォルト値が「whatever」のCassandraテーブルに新しいフィールドを追加するにはどうすればよいですか?

分類Dev

UIからbigqueryのRECORDタイプの既存のフィールドに新しいフィールドを追加することは可能ですか?

分類Dev

Spring DataJPAの既存のエンティティに新しいフィールド/値を追加する方法

分類Dev

履歴データを非履歴テーブルに添付します

分類Dev

性別の新しいテーブルを使用するか、個人テーブルのフィールドとして追加します

分類Dev

Laravelのモデルに新しいフィールドを追加する

分類Dev

エンティティに新しいフィールドを追加します

分類Dev

DhtmlXライブラリに新しいフィールドを追加する

分類Dev

BigQueryテーブルにプログラムでフィールドの説明を追加する方法

分類Dev

フィードバーナーシャネルからすべてのフィード履歴を取得するにはどうすればよいですか?

分類Dev

既存の@Entity(jpa)に新しいフィールドを追加する際のSQLException

分類Dev

MongoDBドキュメントのオブジェクトに新しいフィールドを追加する

分類Dev

SSISでの2回目のロード中に同じキーを持つ新しいデータが表示されるたびに、データは履歴テーブルに移動します

分類Dev

テーブルに 1 つの新しいフィールドを生成する (ASP.NET MVC)

分類Dev

履歴テーブルに基づいてビューを作成する

分類Dev

FirebaseDBに新しいフィールドを追加する際の下位互換性

分類Dev

KeystoneJSのリストに新しいフィールドを追加する方法

分類Dev

同じテーブルの履歴データを比較する

分類Dev

Laravel5.8デフォルトユーザーテーブルに新しいフィールドを追加する

分類Dev

mysqlの新しいテーブルに値を追加する

分類Dev

既存のEntityFrameworkに新しいテーブルを追加する方法

分類Dev

新しいテーブルから既存のレコードに新しい外部キーを追加する方法

分類Dev

既存のデータをロードするときに FDMemTable に新しいフィールドを追加する

Related 関連記事

  1. 1

    新しいテーブルに履歴を挿入する

  2. 2

    Acumatica-在庫履歴照会画面に新しいフィールドを追加

  3. 3

    既存のxBaseファイル/テーブルに新しいフィールド/列を追加する方法

  4. 4

    SQLServerのビューに履歴テーブルを自動追加します

  5. 5

    AndroidのSQLiteに新しいフィールドを追加する

  6. 6

    Django-フィールドの履歴を保持する

  7. 7

    デフォルト値が「whatever」のCassandraテーブルに新しいフィールドを追加するにはどうすればよいですか?

  8. 8

    UIからbigqueryのRECORDタイプの既存のフィールドに新しいフィールドを追加することは可能ですか?

  9. 9

    Spring DataJPAの既存のエンティティに新しいフィールド/値を追加する方法

  10. 10

    履歴データを非履歴テーブルに添付します

  11. 11

    性別の新しいテーブルを使用するか、個人テーブルのフィールドとして追加します

  12. 12

    Laravelのモデルに新しいフィールドを追加する

  13. 13

    エンティティに新しいフィールドを追加します

  14. 14

    DhtmlXライブラリに新しいフィールドを追加する

  15. 15

    BigQueryテーブルにプログラムでフィールドの説明を追加する方法

  16. 16

    フィードバーナーシャネルからすべてのフィード履歴を取得するにはどうすればよいですか?

  17. 17

    既存の@Entity(jpa)に新しいフィールドを追加する際のSQLException

  18. 18

    MongoDBドキュメントのオブジェクトに新しいフィールドを追加する

  19. 19

    SSISでの2回目のロード中に同じキーを持つ新しいデータが表示されるたびに、データは履歴テーブルに移動します

  20. 20

    テーブルに 1 つの新しいフィールドを生成する (ASP.NET MVC)

  21. 21

    履歴テーブルに基づいてビューを作成する

  22. 22

    FirebaseDBに新しいフィールドを追加する際の下位互換性

  23. 23

    KeystoneJSのリストに新しいフィールドを追加する方法

  24. 24

    同じテーブルの履歴データを比較する

  25. 25

    Laravel5.8デフォルトユーザーテーブルに新しいフィールドを追加する

  26. 26

    mysqlの新しいテーブルに値を追加する

  27. 27

    既存のEntityFrameworkに新しいテーブルを追加する方法

  28. 28

    新しいテーブルから既存のレコードに新しい外部キーを追加する方法

  29. 29

    既存のデータをロードするときに FDMemTable に新しいフィールドを追加する

ホットタグ

アーカイブ