我想知道如何在新的標準SQL - WebUI中使用BigQuery UDF。如何在標準SQL中使用BigQuery UDF - WebUI?
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編輯器中,出現一條消息:「標準SQL只支持內聯UDF」。然後一個紅色的消息出現在Bigquery的驗證器中,說:「錯誤:語法錯誤:預期的」)「,但在[4:5]得到了關鍵字SELECT」...這最後一個指向查詢,並且它將選中的句子強調爲紅色。
那麼,接下來的問題來到我的腦海:
- 有沒有在UDF功能出了問題?也許它不是內聯寫的?
- 上一條錯誤消息說:「標準SQL僅支持內聯UDF」。所以,這意味着我應該刪除「使用傳統模式」中的勾號?
感謝您的幫助。
如果答案幫助你解決問題,你接受了它 - 你也可以考慮投票起來。有關http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235中的http://stackoverflow.com/help/someone-answers和Upvote部分,請參閱更多內容。 –