0
JavaScript UDF을 사용하여 중첩 구조가있는 테이블 (예 : sample Github commits)에서 일부 처리를 수행하려고한다고 가정 해 보겠습니다. 구현시 반복 할 때 UDF에서 볼 수있는 필드를 변경하여 테이블의 전체 행을 테이블로 전달하기로 결정할 수 있습니다. 내가 가진 이후,전체 유형을 지정하지 않고 테이블에서 UDF로 행을 전달하려면 어떻게해야합니까?
SELECT GetCommitStats(t).*
FROM `bigquery-public-data.github_repos.sample_commits` AS t;
UDF를 선언의 가장 성가신 부분은 입력 구조체입니다 :
#standardSQL
CREATE TEMP FUNCTION GetCommitStats(
input STRUCT<commit STRING, tree STRING, parent ARRAY<STRING>,
author STRUCT<name STRING, email STRING, ...>>)
RETURNS STRUCT<
parent ARRAY<STRING>,
author_name STRING,
diff_count INT64>
LANGUAGE js AS """
[UDF content here]
""";
가 그럼 난 쿼리 등으로 함수를 호출 : 내 UDF는 다음과 같이보고 뭔가를 종료 중첩 된 필드와 해당 유형 모두를 포함합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
어떻게 당신이 모든을 발견 않았다 공식 문서가없는 귀중한 정보? –
시행 착오 과정 :) –