Google Cloud Storage에서 CSV 파일을 가져 와서 병합하고 BigQuery에 쓰도록 예정된 ETL 작업을 작성하려고합니다.Google Cloud Dataflow CSV 파일 병합 및 BigQuery 작성 방법
CSV의 읽기 부분을 파악할 수 있었고 데이터 흐름 문서가 병합 옵션을 이해하는 데 도움이되지 않기 때문에 병합이 중단되었습니다.
PCollection<String> File1 = p.apply(TextIO.Read.from("gs://**/DataFile1.csv"));
PCollection<String> File2 = p.apply(TextIO.Read.from("gs://**/DataFile2.csv"));
이미 정의 된 BigQuery 테이블에 file1 및 file2 내용을 병합하고 기록하십시오.
파일 1 예 :
Order,Status,Follow,substatus Order1, open, Yes, staged Order2, InProcess,No, withbackoffice
파일 2 예 :
는Order,Status,Follow,substatus Order3, open, Yes, staged Order4, InProcess,No, withbackoffice
BigQuery를 테이블 컬럼 내가 함께 병합하는 방법을 알고
Order,Status,Follow,substatus - Order1, open, Yes, staged - Order2, InProcess,No, withbackoffice - Order3, open, Yes, staged - Order4, InProcess,No, withbackoffice
정확히 병합을 의미합니까? 교차 가입/카 티지 제품? CoGroupByKey 변환 (https://cloud.google.com/dataflow/model/group-by-key#join)을 사용할 수 있습니다. –
응답 해 주셔서 감사합니다. 나는 연합을 의미한다. 위의 예 에서처럼 파일 1에는 n 개의 행이 있고 파일 2에는 m 개의 행이 있습니다. CSV 헤더는 동일하므로 스키마가 동일합니다. BigQuery의 출력은 CSV 헤더 및 행 n + m이있는 열입니다. 단순한 연합. 또한 이전에 링크를 보았습니다. 그것은이 주제에 대한 예제 나 도움을 제공하지 않습니다. – Raju
여기에 설명 된대로 Bigquery에 두 개의 pcollection을 간단하게 작성할 수 있습니다. https://cloud.google.com/dataflow/model/bigquery-io#writing-to-bigquery (BigQueryIO.Write.WriteDisposition.WRITE_APPEND를 사용하는 것 같습니다)). –