2017-10-19 1 views
1

미리 정의 된 Dataflow 작업 템플릿을 사용하여 Dataflow와 함께 Bigquery 스트리밍 삽입을 사용하고 있습니다.null 필드가있는 dataflow를 사용하는 Bigquery 스트리밍 삽입

nullable 및 repeated 필드와 함께 사용할 때 몇 가지 특성이 있습니다. 쉽게 충분하기 때문에

generic::invalid_argument: This field is not a record.","location":"name","message":"This field is not a record." 

이는 큰 문제가되지 않습니다 : 스키마 {name: null}

가 오류와 함께 실패 삽입을 할 시도

name STRING, NULLABLE 

와 예를 들어

, 간단하게 null 필드를 없애고 빈 배열에도 마찬가지로 적용됩니다.

그러나 지금 우리의 스키마 인 경우 :

name STRING, REPEATED 

우리는 ["a", "b", null, "c"] 우리가 세 번째 요소를 참조 유사한 오류 삽입 할.

답변

1

NULLABLE 필드에 null 값이있는 행을 제공하려면 삽입하려는 행의 필드를 생략하면됩니다. 두 번째 예에서 REPEATED 필드 (또는 SQL 용어의 ARRAY)는 널 요소를 가질 수 없습니다. NULLABLE STRING의 배열을 모델링하려면 value이라는 STRING 필드가 들어있는 REPEATED RECORD를 사용하거나 SQL 용어로 ARRAY<STRUCT<value STRING>>을 사용할 수 있습니다.

+0

감사합니다. 후손을 위해, 여기서 혼란 스러울 부분은 데이터 저장소를 bigquery로로드하는 것이 구조화 된 속성에 대한 스키마를 만드는 방법 때문이라고 생각합니다. 반복적 인 필드를 가진 단일 레코드로서 bigquery에 반복 된 필드로 구성된 구조화 된 속성로드 (반복 필드가있는 반복 된 구조화 된 속성에 대해 어떻게 작동하는지 ...) Elliott이 제안한 것과 모든 것을 스키마로 변경할 수있었습니다. 일했다. – vmkrish

관련 문제