VPC 환경에서 이용 가능합니다.
쿼리를 입력하고 실행하는 방법과 입력한 쿼리를 저장하고 활용하는 방법을 설명합니다.
쿼리 모의 실행
쿼리 모의 실행을 시작하면 입력된 쿼리문은 정식으로 처리되지 않고, 해당 쿼리문을 처리할 때 스캔되는 데이터양이 얼만큼인지 측정하여 결과 창에 표시합니다. 스캔될 데이터양을 미리 측정하여 부과될 요금을 예측할 수 있습니다.
쿼리를 모의 실행하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 데이터 소스를 선택한 후 쿼리 입력 창에 쿼리문을 입력해 주십시오.
- 템플릿 쿼리를 이용할 경우 쿼리문에 데이터 소스가 정의되어 있으므로 직접 선택하지 않아도 됩니다. [쿼리] 탭 > [템플릿 쿼리] 버튼을 클릭한 후 원하는 쿼리를 선택하면 해당 쿼리문이 자동으로 입력됩니다.
- [모의 실행] 버튼을 클릭해 주십시오.
- 화면 하단의 모의 실행 결과를 확인해 주십시오.
- 쿼리 모의 실행에는 요금이 부과되지 않습니다.
- 스토리지 카탈로그가 포함된 쿼리의 경우 모의 실행 결과에 스토리지 카탈로그 데이터의 크기는 포함되지 않습니다. 자세한 내용은 스토리지 카탈로그 기능을 참고해 주십시오.
쿼리 실행
쿼리를 실행하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 데이터 소스를 선택한 후 쿼리 입력 창에 쿼리문을 입력해 주십시오.
- 데이터베이스 드롭다운 메뉴에서 데이터베이스명을 선택하면 소스 경로를 전부 입력하지 않고 테이블명만 간단히 입력할 수 있습니다.

- 템플릿 쿼리의 경우 데이터 소스는 'public_data' 소속 데이터베이스로 이미 정의되어 있습니다. [쿼리] 탭 > [템플릿 쿼리] 버튼을 클릭한 후 원하는 쿼리를 선택하면 바로 실행 가능한 쿼리문이 자동으로 입력됩니다.
- 동일 쿼리를 재실행할 경우 효율적인 처리를 위해 결과 재사용 기능을 켤 수 있습니다. 자세한 내용은 쿼리 결과 재사용 설정을 참고해 주십시오.
- 데이터베이스 드롭다운 메뉴에서 데이터베이스명을 선택하면 소스 경로를 전부 입력하지 않고 테이블명만 간단히 입력할 수 있습니다.
- [실행] 버튼을 클릭해 주십시오.
- 쿼리 처리 시 스캔될 데이터양을 미리 측정하고 싶다면 [모의 실행] 버튼을 먼저 클릭하여 측정 결과를 확인한 후 [실행] 버튼을 클릭해 주십시오.
- 화면 하단의 실행 결과를 확인해 주십시오.
- 쿼리가 실행 중일 때 활성화되는 [실행 취소] 버튼을 클릭하면 쿼리 실행을 취소할 수 있습니다.
- 쿼리 실행은 하나의 SQL 문장에 대해 실행 가능합니다.
- 기본적으로 Editor 내에 작성된 전체 문자열을 실행할 SQL 문장으로 인식하여 실행합니다.
- Editor 내 작성된 문자열이 2개 이상의 SQL 문장으로 구성되어 있는 경우에는 실행하고자 하는 문자열을 선택 영역으로 선택하면 해당 문자열에 대해서만 쿼리를 실행할 수 있습니다.
일부 지원하지 않는 파일 형식 또는 테이블의 경우 쿼리 동작이 불가할 수 있습니다.
- 실제 테이블의 스키마 또는 파일 형식과 맞지 않는 파일이 테이블 Location 에 함께 존재하는 테이블
- 지원하지 않는 인코딩 형식의 데이터 파일을 포함한 테이블
- 데이터 파일은 UTF-8 인코딩 형식을 지원
Iceberg 테이블
Iceberg 테이블에 대한 쿼리를 수행할 수 있습니다. Apache Iceberg는 방대한 데이터를 분석하기 위한 고성능 테이블 포맷 입니다. Apache Iceberg 테이블 버전 1 과 2를 지원합니다.
Iceberg 테이블을 생성하려면 해당 페이지에서 설명하는 CREATE TABLE USING ICEBERG 문을 사용해 주십시오.
CREATE TABLE 테이블명 (col_name data_type) USING ICEBERG
Iceberg 테이블에 대해 다음 작업을 지원합니다.
SELECT,DESCRIBE,SHOW STATS,SHOW CREATE TABLEINSERT,UPDATE,MERGE,DELETEALTER TABLE,DROP TABLE,COMMENT
Iceberg 테이블 삭제시, 실제 data도 삭제됩니다. 실제 data를 삭제하지 않도록 하려면, Iceberg 테이블 생성시 다음과 같은 설정을 사용해야 합니다.
- data_location
- object_store_layout_enabled = true
- gc.enabled = false
설정 상세 설명은 Trino 문서를 참조해 주십시오
CREATE TABLE 테이블명 (col_name data_type)
with (
"object_store_layout_enabled" = true,
"data_location" = 'data 저장 경로',
extra_properties = MAP(ARRAY['gc.enabled'], ARRAY['false'])
)
USING ICEBERG;
Data Query에서 제공하는 Iceberg 쿼리는 trino를 기반으로 제공합니다. 위 안내된 목록 외 추가 내용은 Trino 문서를 참조해 주십시오.
쿼리 결과 재사용 설정
쿼리 결과 재사용이란 특정 시간 전에 처리된 쿼리에 의해 존재하는 결과를 다시 사용하는 것입니다. 동일 내용의 쿼리를 반복적으로 실행할 때 활용하면 쿼리 처리 시간을 절약할 수 있습니다.
결과 재사용은 쿼리문을 입력한 상태에서 실행 전에 설정해야 합니다. 결과 재사용을 설정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 쿼리 입력 창에 원하는 쿼리문을 입력해 주십시오.
- 쿼리 창 상단 오른쪽에 있는 결과 재사용 항목의 재사용 안함을 클릭해 주십시오.

- 드롭다운 메뉴에서 결과 재사용을 허용하는 시간을 선택해 주십시오.
- 1시간 전, 12시간 전, 1일 전 중에 선택하거나 직접입력을 클릭해 최소 1분에서 최대 7일 이내로 설정할 수 있습니다.
- 설정 후 쿼리 [실행] 버튼을 클릭하면 유효한 결과 존재 시 재사용됩니다.
파라미터를 사용한 쿼리 실행
쿼리에 변수를 포함하여 작성하고 실행 시점에 변수를 바인딩하여 동적인 쿼리 실행이 가능합니다. 다음은 파라미터를 사용한 쿼리 실행 예시입니다.
- 실행 쿼리 텍스트
select * from public_data.incheon_airport.cargo_flight_schedule_summer_arrival where TRY_CAST(year AS INTEGER) >= ? and TRY_CAST(year AS INTEGER) < ? and airline = ? - 파라미터
- 파라미터1 :
2015 - 파라미터2 :
YEAR(NOW()) - 파라미터3 :
KOREAN AIR
- 파라미터1 :
- 숫자(정수형 또는 실수형) 입력값을 문자열 타입으로 사용하고 싶은 경우, 값을 따옴표(
')로 감싸서 입력해 주십시오. 예시로, 입력값123을 문자열 타입으로 입력하고 싶은 경우'123'을 파라미터 값으로 입력합니다. - 테이블 데이터 형식이 CSV인 테이블인 경우에는 모든 값을 문자열 타입으로 처리하므로 입력값을 문자열 타입으로 입력해야 합니다.
스토리지 카탈로그
테이블을 생성하지 않고 Object Storage에 저장된 파일의 경로를 입력하여 직접 쿼리를 실행할 수 있습니다.
다음은 스토리지 카탈로그를 사용하여 Object Storage에 저장된 파일을 쿼리하는 예시입니다.
- 테이블 위치에
TABLE(object_storage.file.read('TYPE', 'PATH'))구문 사용- TYPE : 파일 타입 (지원 가능 형식 :
csv,tsv,json,avro,parquet,orc) - PATH : Object Storage에 저장된 파일의 경로
- TYPE : 파일 타입 (지원 가능 형식 :
select * from TABLE(object_storage.file.read('csv', 's3a://test-bucket/path/file.csv')) ;
- 아래 파일 타입의 경우 지정된 구분 기호를 지원하며, 이 외 구분자에 대해서는 추후 지원 예정입니다.
csv인 경우 Comma(,) 구분자tsv인 경우 Tab (\t) 구분자
- 내 Object Storage에 저장된 파일에 대해서만 쿼리가 가능합니다.
- 스토리지 카탈로그는 10GB 이하의 작은 파일을 조회하는 용도로 제공됩니다. (10GB 이상의 파일은 Timeout으로 쿼리가 정상 수행되지 않을 수 있습니다)
- 스토리지 카탈로그가 포함된 쿼리의 경우 모의 실행 결과에 스토리지 카탈로그 데이터의 크기는 포함되지 않습니다.
- 확인이 필요한 경우 아래 쿼리 실행을 통해 모의 실행 결과를 확인할 수 있습니다.
- (예시) EXPLAIN ANALYZE SELECT * FROM TABLE(object_storage.file.read('TYPE', 'PATH')) ;
제공 Function
Data Query에서 제공하는 Function 목록입니다.
| Function | Return Type | Argument Types | Description | Example |
|---|---|---|---|---|
| convert_range_long | varchar | integer/varchar, varchar | 원하는 범위에 포함 되었는지 파악하기위해 사용자가 정의한 범위로 변경하여 리턴됩니다. 첫 번째 Parameter 설명 : (필수) 범위로 변경할 데이터입니다. 두 번째 Parameter 설명 : (필수) 범위 지정 값입니다. 각각의 범위는 오름차순으로 정렬되어야 하며 콤마(,)로 구분되어야 합니다. |
select convert_range_long('10', '1,10,20,30') |
| day_of_week | Integer | date/varchar | 입력한 날짜의 요일의 숫자가 리턴됩니다. 월요일(1), 화요일(2), 수요일(3), 목요일(4), 금요일(5), 토요일(6), 일요일(7) |
select day_of_week('2024-06-20') |
| decode_url | varchar | varchar, varchar | 인코딩된 URL 을 디코딩된 값으로 변환됩니다. 첫 번째 Parameter 설명 : (필수) 인코딩된 URL입니다. 두 번째 Parameter 설명 : (선택) Character 포맷입니다. (JAVA 에서 지원하는 포맷만 가능합니다.) |
select decode_url |
| match | boolean | varchar, varchar, varchar | 첫 번째 Parameter에 기술된 컬럼에 대하여, 두 번째 parameter로 입력된 키워드 목록과 매칭되는지 확인합니다. 세 번째 파라미터는 매칭 방식입니다. 첫 번째 Parameter 설명 : (필수) 매칭할 컬럼 이름입니다. 두 번째 Parameter 설명 : (필수) 매칭할 키워드 목록. 콤마(,)로 여러 개의 키워드 입력 가능합니다. 세번째 Parameter를 regex 선택 시 Java regex 문법만 입력 가능합니다. 세번째 Parameter 설명 : (필수) exact|prefix|postfix|contain|regex * 값 설명 - exact : exact matching(default), prefix : prefix matching, postfix : postfix matching, contain : partial matching, regex : regular expression matching |
select match('JAVA', '네이버,클라우드,데이터,JAVA,query', 'exact') select match('네버', '\b네이\b', 'regex') |
| normalize_option | varchar | varchar, varchar, varchar | 원본 검색어를 설정된 flag 형태로 정규화된 검색어로 변경하여 반환합니다. 첫 번째 Parameter 설명 : (필수) 검색어입니다. 두 번째 Parameter 설명 : (선택) 정규화 옵션 flag 값입니다. 'i' : invisible한 값을 빈값으로 변경합니다. 's' : breaking white space를 공백(space)으로 변경합니다. 'n' : breaking white space를 빈값으로 변경합니다. 'l' : 대문자를 소문자로 변경합니다. 'b' : \ 를 \\ 로 변경합니다. flag 값이 없을 때에는 'inl' 옵션과 동일합니다. 세번째 Parameter 설명 : (선택) 정규화 적용시 필요한 언어 로케일입니다. (e.g. ko_KR, en_US) |
select normalize_option('NAVER', 'l') |
| parse_agent | map(varchar,varchar) | varchar | Apache log 의 Agent 필드를 Device, OperationSystem, Browser 등의 단위로 리턴됩니다. | select parse_agent('Mozilla/5.0 (Linux; Android 9; LG-F800S Build/PKQ1.190522.001) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/69.0.3497.128 Whale/1.0.0.0 Crosswalk/23.69.600.0 Mobile Safari/537.36 NAVER(inapp; search; 690; 10.16.2)') |
| to_period | varchar | date/timestamp/varchar, varchar | date/timestamp/varchar 형태를 특정 형식의 문자열로 변경합니다. 첫 번째 Parameter 설명 : (필수) 날짜/시간입니다. 두 번째 Parameter 설명 : (필수) 변경할 문자열 형식입니다. all/year/half/quarter/month/week/week-monday/day/12hour/6hour/3hour/hour/min/5min/10min/20min/30min |
select to_period('2024-06-20','week-monday'); |
| rank | map(varchar,integer) | array(varchar), integer/varchar, integer | 대상 영역의 ranking을 리턴합니다. 첫 번째 Parameter 설명 : (필수) 대상 영역입니다. 두 번째 Parameter 설명 : (선택) 콤마(,)로 구분지어진 영역들의 값입니다. 세번째 Parameter 설명 : (선택) 노출되지 않은 경우의 노출순위 값입니다. 음수면 노출되지 않은 경우 무시합니다. (Default = 99) |
select rank(array['aaa','bbb','shp','fff'], 'fff,ddd,eee,aaa', 50) |
Data Query에서 제공하는 Function은 trino를 기반으로 제공합니다. 위 안내된 목록 외 추가 내용은 Trino 문서를 참조해 주십시오.
쿼리 관리
입력한 쿼리문을 다시 사용할 수 있도록 내 쿼리로 저장할 수 있으며, 저장한 쿼리문은 필요에 따라 수정, 복사, 삭제할 수 있습니다. 실행 예약 설정을 추가하여 저장한 쿼리문을 원하는 시간에 실행할 수 있습니다.
쿼리문 저장
직접 입력한 쿼리문 또는 템플릿 쿼리를 수정해 만든 쿼리문을 내 쿼리로 저장할 수 있습니다. 쿼리문을 저장하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 쿼리 입력 창에 원하는 쿼리문을 입력해 주십시오.
- 템플릿 쿼리를 이용할 경우 [쿼리] 탭 > [템플릿 쿼리] 버튼을 클릭한 후 원하는 쿼리를 선택하면 해당 쿼리문이 자동으로 입력됩니다.
- 쿼리 창 상단에서 쿼리 탭의 오른쪽 옵션 메뉴에 마우스 오버해 주십시오.

- 저장 또는 다른 이름으로 저장을 클릭해 주십시오.
- 팝업 창에서 쿼리의 이름을 입력하고 [저장] 버튼을 클릭해 주십시오.
- 쿼리가 내 쿼리 목록에 저장됩니다. 화면 왼쪽의 [쿼리] 탭 > [내 쿼리] 버튼을 클릭하면 저장된 쿼리 목록을 확인할 수 있습니다.

- 쿼리가 내 쿼리 목록에 저장됩니다. 화면 왼쪽의 [쿼리] 탭 > [내 쿼리] 버튼을 클릭하면 저장된 쿼리 목록을 확인할 수 있습니다.
저장된 쿼리 편집
저장된 쿼리는 이름 또는 내용을 수정하거나, 다른 이름으로 저장하거나, 삭제할 수 있습니다. 저장된 쿼리를 편집하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 화면 왼쪽의 [쿼리] 탭 > [내 쿼리] 버튼을 클릭해 주십시오.
- 내 쿼리 목록 중 편집하려는 쿼리를 클릭해 주십시오.
- 쿼리 창에 해당 쿼리의 내용이 입력됩니다.
- 쿼리 창 상단에서 쿼리 탭의 오른쪽 옵션 메뉴에 마우스 오버해 주십시오.

- 원하는 메뉴를 선택하여 클릭해 주십시오.
- 이름 수정: 저장된 쿼리명을 수정하여 저장. 쿼리 창에서 내용을 수정한 상태로 이름 수정 시 내용도 함께 업데이트
- 저장: 쿼리 창에서 내용을 수정한 후 실행하여 덮어쓰기 저장
- 다른 이름으로 저장: 쿼리 내용을 복사하여 다른 이름으로 저장
- 삭제: 해당 쿼리를 내 쿼리 목록에서 삭제
저장된 쿼리 실행 예약
저장한 쿼리문에 실행 예약 설정을 추가하여 원하는 시간에 실행할 수 있습니다. 실행 예약 설정 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 화면 왼쪽의 [쿼리] 탭 > [내 쿼리] 버튼을 클릭해 주십시오.
- 내 쿼리 목록 중 편집하려는 쿼리 항목의 오른쪽 옵션 메뉴에 마우스 오버해 주십시오.
- 실행 예약 설정 메뉴를 클릭해 주십시오.
- 실행 예약 설정: 저장된 쿼리문을 원하는 시간/주기에 실행되도록 실행 예약 정보를 설정합니다.
- 실행 예약 제거: 설정 되어 있는 실행 예약 정보를 제거합니다.
쿼리 실행 예약에서도 파라미터를 사용한 쿼리 실행 기능을 사용할 수 있습니다. 변수가 포함된 쿼리의 실행 예약 설정 시,실행에 사용할 파라미터 정보를 실행 예약 정보와 함께 입력해 주십시오.
- 실행 예약 설정 시, 먼저 저장된 쿼리문이 정상 동작하는지 확인해 주십시오. 쿼리 파싱 오류 등 일부 오류 케이스는 실행 이력이 생성되지 않으며 Query History 메뉴에서 실행 이력 확인이 불가합니다.
- 쿼리 실행 예약은 Main Account 계정의 권한으로 수행됩니다. Sub Account 계정에게 실행 예약 설정에 대한 권한을 부여 시 참고하여 주십시오.