Data Refinery 의 Impala 테이블에 저장된 데이터 정제
Hadoop 클러스터의 Impala 에 저장된 테이블 데이터를 정제합니다.
필수 소프트웨어
Hadoop 클러스터에 연결을 설정합니다. Impala via Execution Engine for Hadoop 연결을 참조하십시오.
제한사항
Data Refinery 의 소스 및 대상과 Hadoop 환경 은 모두 동일한 Hadoop 시스템을 참조해야 합니다.
Hadoop 클러스터에서 Data Refinery 작업을 실행하려면 Hadoop 환경을 사용해야 합니다.
Impala 에서 Data Refinery 는 Parquet 형식의 파일이 포함된 테이블에 데이터를 기록하는 작업만 지원합니다.
대상 데이터 세트를 덮어쓰거나 새로 생성할 경우, Impala 테이블의 HDFS 데이터 디렉터리에 대한 권한(특히 해당
delete권한)이write있어야 합니다.예를 들어, Impala 테이블의 HDFS 데이터 디렉터리가 이고
/user/hive/warehouse/table_name해당 디렉터리에 있는 데이터 파일에 대한delete권한이 없다면, 다음 명령을 실행하여 소유자를 변경하십시오:hdfs dfs -chown -Rnew_owner:hive /user/hive/warehouse/table_name대상으로 외부 테이블을 사용하여 ‘테이블 교체’ 작업을 수행하려면, 해당 외부 테이블은 비어 있어야 합니다.
프로시저
소스 (정제하려는 데이터)에 대한 연결된 데이터 자산을 생성합니다:
- 프로젝트 페이지로 이동하세요.
- ‘자산’ > ‘자산 가져오기’ > ‘연동된 데이터’를 클릭합니다.
- ‘소스 선택’을 클릭하세요.
- Impala via Execution Engine for Hadoop 연결을 선택하십시오. 원하는 데이터로 이동한 다음 ‘선택’을 클릭하세요.
- 이름과 설명을 입력하세요.
- Create(작성)를 클릭하십시오. 해당 자산이 프로젝트의 ‘자산’ 페이지에 표시됩니다.
1단계를 반복하여 ‘ Data Refinery ’ 플로우의 출력용 대상 파일에 대한 연결된 데이터 자산을 생성합니다.
Data Refinery 워크플로를 생성합니다:
- 1단계에서 생성한 소스의 연결된 데이터 자산을 클릭하세요.
- ‘데이터 준비’를 클릭하여 ‘ Data Refinery ’를 엽니다.
- 데이터를 정제하기 위해 연산을 적용합니다.
출력 파일의 저장 위치를 변경하려면:
- 도구 모음에서 ‘흐름
설정’ 아이콘을 클릭하세요. ‘대상 데이터 세트 ’ 탭으로 이동한 다음, ‘대상 선택’을 클릭합니다. - ‘데이터 자산’을 클릭한 다음, 대상 출력 파일에 연결된 데이터 자산을 선택하고 ‘다음’을 클릭합니다.
- ‘대상 및 형식 속성 선택’ 창에서 쓰기 모드와 테이블 작업을 선택합니다.
- ‘저장’을 클릭한 다음 ‘적용’을 클릭하세요.
- 도구 모음에서 ‘흐름
Hadoop 환경에서 ‘ Data Refinery ’ 흐름을 실행하는 작업을 생성합니다:
- Data Refinery 도구 모음에서 ‘작업 ’ 아이콘을 클릭한 다음, ‘저장 및
작업 생성’을 선택합니다. - 이름과 설명을 입력하세요. Hadoop 환경을 선택하십시오.
- 선택 사항: 일회성 또는 반복 일정을 추가하세요.
- 작업을 생성하고 즉시 실행하거나, 작업을 생성한 후 나중에 실행할 수 있습니다.
- Data Refinery 도구 모음에서 ‘작업 ’ 아이콘을 클릭한 다음, ‘저장 및
작업이 완료되면 Impala 메타데이터를 다시 동기화하십시오. Hadoop 클러스터에서 데이터베이스의 impala-shell 에 연결한 후 다음 명령을 실행하십시오:
REFRESHtable_name