2017-05-12 15 views
1

Google Cloud DataLab을 사용할 때 STRUCT을 반환하는 UDF를 만드는 데 어려움을 겪고 있습니다. 최소한의 예를 들어Datalab이 STRUCT를 반환하는 BigQuery UDF를 만듭니다.

, 나는 datalab 노트북에서이 작업을 수행하는 경우 :

%bq udf -n demo -l js 
// Some fn description 
// @param x FLOAT64 
// @returns STRUCT<Name STRING> 

var obj = {name:"John"}; 
return obj; 

가 나는 다음과 같은 오류로 실행

UDF return type must be defined using // @returns <type> 

반면, 내가 할 수있는 BigQuery 웹 UI를 사용하는 경우 do :

CREATE TEMPORARY FUNCTION demo(x FLOAT64) 
RETURNS STRUCT<Name STRING> 
LANGUAGE js AS """ 
return { 
Name: "John" 
}; 
"""; 

SELECT demo(data) as demoOutput 
FROM UNNEST([1,2]) AS data; 

및 예상 출력을 얻으십시오.

Datalab을 사용하여 STRUCT을 리턴하는 UDF를 어떻게 선언 할 수 있습니까?

답변

3

죄송합니다. 공백을 허용하지 않는 정규식 파싱 유형 때문에이 버그가 발생합니다. this github issue을 참조하십시오. 다음 릴리스에서 해결할 수있는 뛰어난 수정 사항이 있습니다.