주요 개념
데이터 원본
Data Query는 카카오클라우드의 Data Catalog 와 MySQL에서 데이터 원본을 가져와 분석 및 활용할 수 있습니다.
- 사용자가 Data Catalog에서 생성한 모든 카탈로그 목록을 별도의 커넥션 생성 없이 자동으로 불러옵니다.
- MySQL 데이터의 경우 데이터 원본 생성 절차를 통해 원하는 데이터베이스의 데이터를 불러올 수 있습니다.
쿼리 결과 저장 위치
실행한 모든 쿼리 결과 데이터는 사용자가 설정한 Object Storage 버킷에 자동으로 저장됩니다.
- 사용자는 Object Storage 버킷에 저장되는 쿼리 결과 데이터를 분석 및 활용할 수 있습니다.
- 쿼리 결과 저장 경로는 프로젝트 내 각 사용자 별로 설정하여 쿼리 결과 데이터를 활용할 수 있습니다.
- 쿼리 실행 결과 데이터는
.metadata
,.csv
파일로 저장됩니다.
데이터베이스
Data Catalog와 MySQL 데이터 원본에 대한 모든 데이터베이스를 불러와 선택할 수 있습니다.
- 선택한 카탈로그에 연결된 모든 데이터베이스 정보를 자동으로 불러옵니다.
- MySQL 인스턴스 그룹과 연결된 모든 데이터베이스 목록을 불러올 수 있습니다.
테이블
Data Catalog, MySQL에서 선택한 데이터베이스의 모든 테이블 목록을 불러옵니다.
- 선택한 데이터베이스의 모든 테이블 목록을 확인할 수 있습니다.
- 각 테이블의 칼럼 정보를 자세히 확인할 수 있습니다.
- 테이블 데이터 미리보기 기능을 통해 쿼리 작성에 도움을 줍니다.
- 테이블의 DDL을 생성하여 구조를 미리 파악하고 쿼리 작성에 도움을 줍니다.
쿼리 편집기
사용자는 쿼리 편집기 화면에서 데이터 원본을 가져오고, 쿼리를 입력 및 실행할 수 있습니다.
- 쿼리 편집기에서는 연결된 모든 데이터 원본 데이터에 대해 쿼리를 실행하고 결과를 분석할 수 있도록 제공합니다.
- 쿼리 결과를 미리볼 수 있으며, 모든 쿼리 결과 데이터는 설정된 Object Storage 버킷에서 확인 가능합니다.
실행 구조도
실행 구조도는 실행한 쿼리로 데이터를 분석하는 과정을 시각적으로 표현하여 제공해 줍니다. 사용자는 실행한 쿼리에 대해 실행 계획 및 결과 분석에 용이하게 활용할 수 있습니다.
- 실시간 상태 모니터링: 쿼리 실행의 각 단계별 진행 상황과 성능 지표를 실시간으로 확인할 수 있습니다.
- 병렬 처리 시각화: 데이터 분산 및 병렬 작업 구조를 직관적으로 표현하여 효율적인 데이터 처리 과정을 제공합니다.
- 세부 실행 정보: 각 단계에서의 데이터 처리량, 쿼리 실행 시간 등을 한눈에 볼 수 있도록 상세 정보를 제공합니다.
쿼리 실행 생명주기
쿼리 실행에 대해 아래와 같이 생명주기를 가지며, 쿼리가 진행되는 상태를 확인할 수 있습니다.
쿼리 생명주기
쿼리 실행 상태
상태 | 설명 |
---|---|
대기 중 | 작업이 대기열에 있으며 쿼리 실행을 기다리고 있는 상태 |
실행 중 | 쿼리가 실행 중인 상태 |
성공 | 쿼리가 성공적으로 완료된 상태 |
실행 취소 | 사용자가 쿼리를 중단한 상태 |
실패 | 쿼리 실행이 오류로 인해 완료되지 않은 상태 |
데이터 타입
지원하는 데이터 타입
쿼리 작성 시 Data Catalog
, MySQL
원본 유형 별로 지원되는 데이터 타입을 참조하여 작성해야 합니다.
쿼리에서 사용하는 데이터 타입이 데이터 원본 유형에 따라 자동으로 매핑됩니다.
주의
표에 명시되지 않은 타입은 지원하지 않습니다.
Data Catalog 유형
Hive | Data Query |
---|---|
VARCHAR | BOOLEAN, TINYINT, SMALLINT, INTEGER, BIGINT, REAL, DOUBLE, TIMESTAMP, DATE, CHAR,VARCHAR |
VARBINARY | VARCHAR |
TINYINT | VARCHAR, SMALLINT, INTEGER, BIGINT, DOUBLE, DECIMAL |
TIMESTAMP | VARCHAR, DATE |
SMALLINT | VARCHAR, INTEGER, BIGINT, DOUBLE, DECIMAL |
REAL | DOUBLE, DECIMAL |
INTEGER | VARCHAR, BIGINT, DOUBLE, DECIMAL |
DOUBLE | FLOAT, DECIMAL |
DECIMAL | DOUBLE, REAL, VARCHAR, TINYINT, SMALLINT, INTEGER, BIGINT, DECIMAL |
DATE | VARCHAR |
CHAR | VARCHAR, CHAR |
BOOLEAN | VARCHAR |
BIGINT | VARCHAR, DOUBLE, DECIMAL |
MySQL 유형
MySQL | Data Query |
---|---|
BIT | BOOLEAN |
BOOLEAN | TINYINT |
TINYINT | TINYINT |
TINYINT UNSIGNED | SMALLINT |
SMALLINT | VARCHAR, SMALLINT |
SMALLINT UNSIGNED | INTEGER |
INTEGER | INTEGER |
INTEGER UNSIGNED | BIGINT |
BIGINT | BIGINT |
BIGINT UNSIGNED | DECIMAL(20, 0) |
DOUBLE PRECISION | DECIMAL(20, 0) |
FLOAT | REAL |
REAL | REAL |
DECIMAL(p, s) | DECIMAL(p, s) |
CHAR(n) | CHAR(n) |
VARCHAR(n) | VARCHAR(n) |
TINYTEXT | VARCHAR(255) |
TEXT | VARCHAR(65535) |
MEDIUMTEXT | VARCHAR(16777215) |
LONGTEXT | VARCHAR |
ENUM(n) | VARCHAR(n) |
BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | VARBINARY |
JSON | JSON |
DATE | DATE |
TIME(n) | TIME(n) |
DATETIME(n) | TIMESTAMP(n) |
TIMESTAMP(n) | TIMESTAMP(n) WITH TIME ZONE |