cross join unnest를 사용하여 쉼표로 구분 된 데이터를 단일 열의 여러 레코드로 분해합니다.

1745 단어 TreasureDataPresto

"cross join unnest"라는 함수와 "split"함수를 사용하면 실현할 수 있습니다.



샘플


select
  split_record
from
  tbl_test t1
cross join unnest( --・・・(1)
  split(t1.csv_column, ',') --・・・(2)
) as t (split_records)

처리 개요



자꾸 설명하면
(2)의 split 함수로 문자열 (t1.csv_column)을 쉼표로 분할하여 배열로 만들고,
배열을 (1)의 cross join unnest 함수로 단일 열의 레코드로 확장합니다.

이미지





■split 함수



split (문자열, 구분 기호) ...
첫 번째 인수의 문자열을 두 번째 인수의 구분 기호로 나누고 배열로 만듭니다.

■cross join unnest 함수



cross join unnest (배열) AS t (배포 후 열 이름) ...
첫 번째 인수의 배열을 단일 열의 레코드로 확장합니다.
열 이름은 두 번째 인수가 확장된 후 열 이름이 됩니다.

요약



treasure 데이터 등의 빅데이터 기반에는 분석시 취급하기 쉽도록 가공한 후
데이터가 등록된 경우도 있지만 반드시 그렇지는 않습니다.
그대로는 분석에 사용하기 힘든 데이터도 등록되어 있는 것이 있다고 생각합니다.
이번 소개는 csv 형식으로 데이터가 등록되어 있지만
그 CSV의 1 단락을 1 레코드로서 취급하고 싶은 경우를 예로 소개하였습니다.
이 기사가 분석 등의 업무의 도움이 된다고 생각합니다.

좋은 웹페이지 즐겨찾기