問題タブ [legacy-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Bigquery の連結時間 (時間:分)
大きなクエリで時間を連結しようとしていますが、それを使用できません。
連結した
エラー: 引数の型の演算子 + に一致する署名がありません: INT64、STRING。サポートされている署名: INT64 + INT64; FLOAT64 + FLOAT64; [5:10] の NUMERIC + NUMERIC
bigqueryで時間を連結するにはどうすればよいですか
javascript - 従来の UDF - ディクショナリ/マップ内の最大値を決定する
最大値を見つけたい JSON マップ/辞書がありますが、(レガシー SQL 構文を使用して) UDF を作成する際に問題があります。オンラインでこれに関する多くのリソースや例を見つけることができませんでしたが、標準 SQL については多く見ました。レガシ SQL を使用してマップ、辞書、およびユーザー定義関数を処理するためのヘルプまたはオンラインの良い例を提供してくれる人はいますか? ありがとう!
入力例: {“cat_age”: 14, “dog_age”: 4} (これは私のテーブルの列です。列名を「AgeColumn」と呼びましょう)
出力: 14
split - #standardsql を使用した Google Big Query SPLIT() 関数
SPLIT() 関数を使用して、文字列の配列を個々の行に変換しようとしています。
データは次のようになります。
データを次のようにしたいと思います。
...等々。以下を使用すると、
必要なSELECT id, SPLIT(ticket) FROM table結果が正確に得られます。問題は、このテーブルをパーティション化された別のテーブルと結合する必要があり、レガシー SQL を使用できないことです。各 ID には複数のチケット (最大 200) が関連付けられているため、1 つずつ入力するのは効率が悪いようです。チケット番号も文字列としてフォーマットされます。
誰かがこれに対する解決策を持っているなら、それは大歓迎です!
google-bigquery - 応答が大きすぎるため、table_date_range から table_suffix への変換が機能しない
BigQuery レガシー SQL に次のクエリがあります。このクエリは今のところ問題なく実行されます。
すべてのクエリを段階的に StandardSQL に移行した後、新しいクエリは次のように StandardSQL で記述されています。
ただし、このクエリはもう実行されませんが、LegacySQL のバリアントは正常に動作します。次のエラー メッセージが表示されます: エラー: 応答が大きすぎて返せません。ジョブ構成で allowLargeResults を true に設定することを検討してください。
_table_suffix を使用したバリアントはパフォーマンスが大幅に低下しますか? または、代替手段はありますか?Table_Date_Range を使用して、約 400 のテーブルをクエリします。
結果をビューとして保存したいので、「AllowLargeResults」を介してテーブルに書き込む必要はありません。
どうもありがとう!