2017-01-11 2 views
2

BigQueryテーブルの行をJSON文字列に縮小しようとしています。 これを標準SQLですばやく行う方法はありますか?BigQueryの行をJSONに簡単に変換できますか?

私はUser-defined Functionでjsを呼び出すことを考えましたが、UDFの入力タイプを宣言してこの関数を一般化できません。

+0

1)あなたの言葉に基づいて、私はあなたが達成しなければならない1回限りの仕事に見えます。なぜあなたはそれを一般化する必要がありますか? 2)あなたはこれを純粋なクエリとして作ることに限定されていますか、あるいはあなたはこれを簡単に採用することができるあなたの練習(例えば、Python、Goなど)でクライアントを使用していますか? –

+0

@ mikhail-berlyant 1)JSONが現在の計画であるため、散在したデータをbigqueryに移行し、いくつかのデータを結合しようとしています。 JSONを使用しない限り、ひどい考えです。一般化は悪い考えではありません。 2)あなたの質問を正しく理解していれば、ビッグクエリーのものを自分自身に含めるといいでしょう。 – dorachan2010

+0

1)既にBigQueryや他の場所にあるあなたの「散在した」データですか? 2)あなたのデータをJSON Stringに結合した結果を理解する/受け入れるか?あなたはおそらくそれを照会するときより高い価格を支払うでしょう。 –

答えて

3

を使用してこれを行うことができます。これは、pass a row from your table to a JavaScript UDFにも役立ちます。

#standardSQL 
WITH MyTable AS (
    SELECT 1 AS x, 'foo' AS y, true AS z UNION ALL 
    SELECT 2, 'bar', false 
) 
SELECT TO_JSON_STRING(t) AS json 
FROM MyTable AS t; 
+0

エラー:TypeError:s.stringifyはstructasjson(STRUCT )の行1、列9-10のファンクションではありません – PUG

+0

それを指摘してくれてありがとう - それは 'JSON.stringify(s); '。私は答えを更新します。 –

+0

ブロサード、うわーこれは私が今までに得た最速の応答だった – PUG

関連する問題