VPC 환경에서 이용 가능합니다.
쿼리에 사용할 데이터 소스를 추가하고 등록된 데이터를 관리하는 방법을 설명합니다.
데이터 소스 추가
쿼리에 사용할 데이터 소스는 커넥션을 통해 추가할 수 있습니다.
데이터 소스를 추가하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 화면 상단의 [데이터 소스 추가] 버튼을 클릭해 주십시오.
- 또는 [데이터 소스 관리] 버튼을 클릭하고, 팝업 창에서 [데이터 소스 추가] 버튼을 클릭해도 됩니다.
- 등록할 데이터 소스의 정보를 입력해 주십시오.
- 이름: 영어 대소문자, 숫자, 언더바(_)를 사용해 최대 50자까지 입력 가능. 첫 글자는 영어로 시작.
- 소스 타입: 단일 지원되는 JDBC 선택 (다양한 소스 타입 추가 지원 예정)
- 커넥션: Data Catalog 서비스에 등록된 커넥션 중 사용할 데이터로 생성한 커넥션 선택
- [생성] 버튼을 클릭해 주십시오.
- 추가된 데이터 소스가 데이터 소스 드롭다운 메뉴와 [데이터 소스 관리] 버튼 클릭 시 표시되는 목록에 추가됩니다.
- 데이터 소스 드롭다운 메뉴에서 항목을 선택하면 커넥션을 통해 불러온 데이터를 트리 형식으로 확인할 수 있습니다.
- 이제 추가한 데이터 소스의 데이터베이스를 활용하여 쿼리를 실행할 수 있습니다. 쿼리 실행 방법에 대한 자세한 내용은 쿼리 실행 및 관리를 참고해 주십시오.
데이터 소스는 Data Catalog 서비스의 커넥션 연결 정보를 참조하여 생성됩니다. 데이터 소스를 추가한 후 Data Catalog 서비스의 커넥션 연결 정보가 변경된 경우, 데이터 소스를 삭제한 후 다시 추가해 주십시오.
데이터 소스 상세 정보
데이터 소스 종류에 따라 연결 및 사용 방식이 일부 달라집니다.
Data Catalog
- Data Query는 Data Catalog 서비스에서 수집된 스키마 정보를 연동하여 쿼리에 직접 사용할 수 있습니다. Data Catalog는 별도 데이터 소스 등록 절차 없이 이용 신청 시에 자동으로 추가됩니다.
Data Catalog에서 수집된 아래의 테이블들은 Data Query에서 데이터 조회가 되지 않습니다.
- 테이블의 Location이 개별 File로 지정된 테이블
- 아래의 예제와 같이 테이블의 Location이 File로 지정된 경우 Data Query에서 데이터 조회가 되지 않습니다.
<예시>- 데이터 조회 가능한 Location: s3a://test-bucket/database-name/table-name/
- 데이터 조회 불가한 Location: s3a://test-bucket/database-name/table-name/data.csv
- Data Catalog에서 위와 같이 스캔되는 테이블은 대부분 하나의 디렉토리에 다수의 구조가 다른 데이터가 존재하는 구조로, Object Storage에서 해당 데이터를 별도의 디렉토리로 분리한 후 Scanner를 수행하면 테이블의 Location이 디렉토리로 정상 인식됩니다.
- 아래의 예제와 같이 테이블의 Location이 File로 지정된 경우 Data Query에서 데이터 조회가 되지 않습니다.
- Location이 서비스 내부 경로로 지정된 테이블
- CLOUD_DB_FOR_MYSQL
- CLOUD_DB_FOR_MSSQL
- CLOUD_DB_FOR_POSTGRESQL
- CLOUD_DB_FOR_MONGODB
- JDBC
- Cloud Hadoop의 HDFS로 Location이 지정된 테이블
- 위 type의 테이블 중 MySQL, MSSQL, PostgreSQL은 JDBC 데이터 소스 생성 및 연결 후 데이터를 조회할 수 있습니다. (Data Catalog에서 public ip 주소로 JDBC Connection 생성)
Public Data
- Data Query 서비스에서는 쿼리에 사용 가능한 공개용 데이터 소스를 기본으로 제공합니다.
- 데이터 소스 목록 중 public_data를 선택하면 확인할 수 있습니다. 소스에 포함된 구체적인 데이터베이스의 목록은 변동될 수 있습니다.
| 데이터베이스 이름 | 테이블 이름 | 데이터 설명 |
|---|---|---|
| data_naver_cloud_service | vpc_flowlog | Naver Cloud 서비스
|
| incheon_airport | passenger_flight_schedule_summer_arrival passenger_flight_schedule_summer_departure passenger_flight_schedule_winter_arrival passenger_flight_schedule_winter_departure |
인천국제공항공사 |
| incheon_airport | cargo_flight_schedule_summer_arrival cargo_flight_schedule_summer_departure cargo_flight_schedule_winter_arrival cargo_flight_schedule_winter_departure |
인천국제공항공사 |
| korea_national_railway | subway_busan subway_seoul_capital_area |
국가철도공단 |
| korea_trade_insurance | exchange_rate guaranteed_exchange_rate |
한국무역보험공사 |
| ministry_economy_finance | foreign_exchange_reserves | 기획재정부 |
| ministry_land_infra_transport | public_land_value nationwide_bus_stop_location |
국토교통부 |
| national_health_insurance_service | health_screening emergency_room_visits giving_birth_business_size |
국민건강보험공단 |
| national_pension_service | pension_enrolled_business_establishment | 국민연금공단 |
| national_tax_service | business_status_age_group business_status_gender business_status_years_of_establishment business_status_top_100_essential |
국세청 |
JDBC
- Data Query 서비스는 JDBC 연결을 지원하여, 사용자가 손쉽게 데이터베이스에 연결할 수 있습니다. 이를 통해 데이터 조회, 수정, 삭제 등 다양한 데이터베이스 작업을 실행할 수 있습니다.
- Data Query JDBC로 연결이 지원되는 데이터베이스
- MySQL (Cloud DB for MySQL 제공 버전 호환성 지원)
- MSSQL (Cloud DB for MSSQL 제공 버전 호환성 지원)
- PostgreSQL (Cloud DB for PostgreSQL 제공 버전 호환성 지원)
- MongoDB (Cloud DB for MongoDB 제공 버전 호환성 지원)
JDBC 연결을 위해서는 사용자 관계형 데이터베이스 및 네트워크 환경에 다음의 IP 접속 허용이 필요합니다.
- Data Query 접속 IP :
223.130.128.167- Data Query에서 사용자 DB의 메타데이터, 데이터 접근을 위해서 아래와 같은 방법으로 접근 허용 추가
- ex) Server > ACG > ACG 설정 메뉴에서 Inbound 규칙에
[TCP, 223.130.128.167, 사용자 DB port 번호]추가 - ex) Cloud DB for MySQL > DB 관리 > DB User 관리 메뉴에서 DB User & 접근 IP(
223.130.128.167) 추가
- Data Catalog 접속 IP :
110.165.25.5- JDBC Connection 생성 시 Data Catalog Connection 생성 가이드에 따라
110.165.25.5IP도 추가가 필요합니다. - Data Catalog에서 사용자 DB로의 연결 확인을 위해 접근 허용 추가
- 위 Data Query와 동일하게 ACG, DB User & 접근 IP에
110.165.25.5추가
- JDBC Connection 생성 시 Data Catalog Connection 생성 가이드에 따라
JDBC MongoDB 연동을 위해서는 READ_WRITE 권한이 필요합니다. 자세한 내용은 Cloud DB for MongoDB 가이드를 참조하세요.
데이터 소스 삭제
쿼리에 더 이상 사용하지 않는 데이터 소스는 삭제를 통해 연동을 중단할 수 있습니다.
데이터 소스를 삭제하는 방법은 다음과 같습니다.
데이터 소스를 삭제하면 연동이 끊어져 Data Query 서비스에서만 사용할 수 없게 되지만, 실제 원본 데이터 및 Data Catalog 서비스는 영향을 받지 않습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 화면 상단의 [데이터 소스 관리] 버튼을 클릭해 주십시오.
- 데이터 소스 팝업 창의 목록에서 삭제하려는 항목의 체크 박스를 선택하고 [삭제] 버튼을 클릭해 주십시오.
- 알림 팝업 창이 나타나면 [확인] 버튼을 클릭해 주십시오.
- 연동이 중단되고 모든 데이터 소스 목록에서 사라집니다.
테이블 관리
데이터 소스를 등록하면 트리 형식으로 내부의 테이블 필드까지 확인할 수 있습니다. 이때 테이블마다 제공되는 부가 기능을 사용하면 간편하게 테이블을 관리할 수 있습니다. 제공되는 기능은 다음과 같습니다.
- 테이블 미리보기: 테이블 내용을 미리 보는 쿼리문을 쿼리 창에 자동 입력
- 테이블 DDL 생성: 테이블을 분석해서 해당 테이블을 생성하는 DDL문을 쿼리 창에 자동 입력. 테이블 복사 또는 수정 시에 활용 가능.
- 테이블 삭제: 테이블을 삭제하는 쿼리문을 쿼리 창에 자동 입력
- 카탈로그 보기: 테이블이 등록된 Data Catalog 서비스의 카탈로그로 이동
테이블 관리용 부가 기능을 실행하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 데이터 소스 트리 영역에서 원하는 테이블 옆의 옵션 메뉴에 마우스 오버해 주십시오.
- 테이블은
표시로 구분되어 있습니다.

- 테이블은
- 원하는 기능을 선택하여 클릭해 주십시오.
- 쿼리문 자동 입력 기능을 선택한 경우 [실행] 버튼을 클릭해 쿼리를 실행할 수 있습니다.
- 카탈로그 보기를 선택한 경우 Data Catalog 서비스의 Table 메뉴 페이지가 새 창에서 표시됩니다.
테이블 직접 추가
Data Query에서 테이블 생성 SQL문을 실행하거나, Data Catalog의 테이블 생성 기능을 이용하여 Data 파일을 Table로 등록할 수 있습니다. 테이블 추가 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서
> Services > Big Data & Analytics > Data Query 메뉴를 차례대로 클릭해 주십시오. - Query Editor 메뉴를 클릭해 주십시오.
- 데이터 소스 영역에서 검색창 옆의 플러스 버튼을 클릭해 주십시오.
- 플러스 버튼은
표시로 되어 있습니다.
- 플러스 버튼은
SQL문으로 테이블 생성
CREATE TABLE
- 스키마를 직접 정의하고 테이블 속성과 데이터 위치를 직접 지정하여 새로운 테이블을 생성합니다.
- 테이블을 Iceberg 테이블 형식으로 생성하려면
CREATE TABLE(ICEBERG)구문을 참조해 주십시오.
CREATE TABLE AS SELECT
- 기존에 존재하는 테이블과 데이터를 이용하여 새로운 테이블을 생성합니다.
- 원본 테이블의 데이터 및 스키마와 동일한 테이블을 생성할 수도 있고,
- SELECT 구문을 통해 필요한 컬럼만 선택하거나 데이터를 간단히 변환하여 새로운 테이블을 생성할 수 있습니다.
- 테이블을 Iceberg 테이블 형식으로 생성하려면
CREATE TABLE AS SELECT(ICEBERG)구문을 참조해 주십시오.
CREATE VIEW
- 사용자가 입력한 SELECT 쿼리에 대한 새로운 VIEW를 생성합니다.
- 복잡한 SELECT 쿼리를 VIEW로 생성하여 손쉽게 재참조 할 수 있습니다.
Data Catalog로 테이블 생성
Object Storage 경로 지정
Data Catalog의 Scanner를 이용하여 Data 파일을 직접 Table로 등록할 수 있습니다. 스캔에 필요한 정보를 입력하고 스캐너를 실행합니다.
- 데이터베이스: 스캐너 실행으로 생성할 테이블을 연결할 데이터베이스 선택
- 데이터 유형
- Catalog Default : Data Catalog에서 제공하는 기본 Hive Table 유형 입니다.
- Apache Iceberg : 방대한 분석 데이터 세트를 위한 개방형 테이블 형식으로서, ACID 트랜잭션, 스키마 진화,Time Travel 쿼리 등을 지원하며 Spark, Trino, Hive에서 동시에 안전하게 작업 가능합니다
- 경로: 스캔할 소스 데이터의 경로 입력
- 입력한 경로의 하위 경로에 대해 스캔을 실행합니다.
- [+설정] 버튼을 클릭하여 버킷이나 버킷하위 상세 경로를 지정해 주십시오.
- 스캔 방법
- 스캐너 신규 생성: 새로운 스캐너를 생성하고 해당 스캐너를 실행
- 기존 스캐너 선택: Data Catalog에서 기존 생성한 스캐너 중 [데이터 유형], [데이터베이스], [경로] 가 동일한 스캐너를 실행
- 스캔 범위 : Object Storage에 있는 스캔할 파일 갯수를 지정하며, 파일 이름 순서대로 읽습니다.
- 1개부터 100개 까지 지정 가능하며, 기본값은 10개입니다.
- 지정한 경로의 최하위 폴더(leaf node)별로 지정한 갯수 만큼 스캔합니다.
- [데이터 유형] 이 Catalog Default 인 경우에만 설정 가능합니다.
- 패턴: 특정 데이터의 메타데이터 수집을 포함/제외하도록 설정
- Glob Pattern 형식으로 입력해 주십시오.
- 제외 설정이 포함 설정보다 우선적으로 적용됩니다.
- [데이터 유형] 이 Catalog Default 인 경우에만 설정 가능합니다.
[Data Catalog로 테이블 생성>Object Storage 경로 지정] 기능은 DATA_CATALOG 데이터 소스에 대해서만 동작 가능합니다.
Data Catalog에서 테이블 생성
Data Catalog 콘솔을 통해 스키마 수동 정의 테이블을 생성하거나, Scanner 상세 옵션을 조정하여 테이블을 생성할 수 있습니다.
자세한 내용은 Data Catalog의 테이블 생성을 참고해 주십시오.