새 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 편집기에서 "표준 SQL에서 인라인 UDF 만 지원됩니다"라는 메시지가 나타납니다. 그런 다음 Bigquery의 유효성 검사기에 "오류 : 구문 오류 : 예상 됨"이라는 빨간색 메시지가 표시되지만 [4 : 5]에서 키워드 SELECT가 표시됨 ... 마지막으로 쿼리를 참조하고 빨간색으로 선택 문장에 밑줄을 긋습니다.
그래서 다음 질문은 내 마음에 와서 :
- 는 UDF 기능에 문제가 있습니까? 어쩌면 인라인으로 쓰여진 것이 아닌가?
- 위의 오류 메시지에는 "표준 SQL에서 인라인 UDF 만 지원됩니다"라고 나와 있습니다. 그렇다면 "레거시 모드 사용"에서 틱을 제거해야합니다.
도움 주셔서 감사합니다. (자세한 표준에서)
아래 시도 - 당신은 또한 그것을 투표를 고려할 수 있습니다. 자세한 내용은 http://stackoverflow.com/help/someone-answers 및 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235 –