新しいStandard SQL - WebUIでBigQuery UDFを使用する方法を知りたいと思います。Standard SQL - WebUIでBigQuery UDFを使用するには?
UDF関数は、「従来のSQLモードを使用する」で有効になっているように見えますが、標準SQLの新しい機能は使用できません。
これはUDFエディタでUDF関数です:
// UDF registration
bigquery.defineFunction(
'urlDecode', // Name used to call the function from SQL
['title', 'num_requests'], // Input column names
// JSON representation of the output schema
[{name: 'title', type: 'string'},
{name: 'requests', type: 'integer'}],
// The UDF
function urlDecode(row, emit) {
emit({title: decodeHelper(row.title),
requests: row.num_requests});
}
// Helper function for error handling
function decodeHelper(s) {
try {
return decodeURI(s);
} catch (ex) {
return s;
}
}
);
そして、これはクエリエディタでのクエリです:私は「使用レガシーモード」からダニを削除した場合
SELECT requests, title
FROM
urlDecode(
SELECT
title, sum(requests) AS num_requests
FROM
[fh-bigquery:wikipedia.pagecounts_201504]
WHERE language = 'fr'
GROUP EACH BY title
)
WHERE title LIKE '%ç%'
ORDER BY requests DESC
LIMIT 100
UDFエディターでは、「インラインUDFのみが標準SQLでサポートされています」というメッセージが表示されます。 Bigqueryのバリデーターに "Error:Syntax error:Expected")という赤いメッセージが表示されますが、[4:5]でキーワードSELECTが取られました...これは最後にクエリーを参照し、選択されたセンテンスを赤で下線を引いています。
ので、次の質問は、私の心に来る:
- UDF機能に問題はありますか?たぶんそれはインラインで書かれていないでしょうか?
- 上記のエラーメッセージには、「標準SQLではインラインUDFのみがサポートされています」と記載されています。つまり、これは、「レガシーモードを使用する」からティックを削除する必要があることを意味しますか?
ありがとうございました。
下にしてみてください。 http://meter.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235 –