tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집

Select 명령어

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-06-24 17:04:20

개요

COS Select 기능은 필요한 일부 데이터를 쉽게 인덱스할 수 있도록 SELECT SQL쿼리 명령을 지원하여 비용을 감소시키고 요청 딜레이를 줄일 수 있습니다. 다음은 SELECT 조회에서 지원하는 표준 절입니다.
SELECT 명령
WHERE 절
LIMIT 절
주의:
현재 COS Select는 절 쿼리 혹은 joins를 지원하지 않습니다.

SELECT 명령

SELECT 명령으로 COS 객체에서 보고 싶은 데이터를 인덱스할 수 있습니다. 이름, 함수, 표현식 등으로 데이터 조회가 가능하며 리스트의 형식으로 조회 결과를 반환합니다. SELECT 명령 포맷은 다음과 같습니다.
SELECT *
SELECT projection [ AS column_alias | column_alias ] [, ...]
첫번째 절의 SELECT 명령은 *(별표)가 표시되며 COS 객체에서 모든 열을 반환합니다. 두번째 절의 SELECT 명령은 사용자 지정을 사용하여 스칼라 표현식을 출력하고 projection은 모든 열에 사용자 지정 이름의 출력 리스트를 생성합니다.

WHERE 절

WHERE 절은 다음 구문을 사용합니다.
WHERE condition
WHERE 절은 condition을 통해 필터링을 진행합니다. condition은 Boolean 결과를 반환할 수 있는 표현식입니다. 반환 값이 TRUE인 행이어야 결과를 출력할 수 있습니다.

LIMIT 절

LIMIT 절은 다음 구문을 사용합니다.
LIMIT number
LIMIT 절은 조회 당 반환 되는 기록 수를 제한합니다. number 매개변수를 이용해 이 제한을 지정할 수 있습니다.

액세스 속성

SELECT와 WHERE 절은 파일 포맷이 CSV인지 JSON인지에 따라 다음 방식으로 조회할 필드를 선택할 수 있습니다.

CSV

열 번호: 제 N열의 조회할 데이터는 _N을 통해 지정할 수 있습니다. 어느 CSV 파일이든 열 번호는 1부터 증가합니다. 첫 열의 일련 번호가 _1인 경우 두번째 열의 일련 번호는 _2입니다. SELECT와 WHERE 절에서 _N이나 alias._N을 통해 조회할 열을 지정하는 것은 유효합니다.
열 헤더: 조회할 CSV 파일에 헤더가 있다면 SELECT나 WHERE 절에서 이 헤더를 통해 조회가 필요한 열을 지정할 수 있습니다. SQL 명령에서는 SELECT나 WHERE 절의alias.column_name 혹은 column_name으로 지정합니다.

JSON

문서(Document): alias.name방식을 사용하여 JSON 문서에 액세스할 수 있습니다. 중첩된 배열은 alias.name1.name2.name3과 같은 방식으로 액세스할 수 있습니다.
리스트(List): 0부터 일련번호가 매겨지고 [] 오퍼레이터를 사용하는 인덱스 기능으로 리스트 요소에 액세스할 수 있습니다. 예시로 alias[1]를 통해 JSON 리스트의 2번째 요소에 액세스할 수 있습니다. 중첩 배열에 액세스 해야 하는 경우 alias.name1.name2[1].name3과 같은 방식으로 액세스할 수 있습니다.
예시 다음은 예시 데이터 샘플입니다.
{
"name": "Leon",
"org": "Tencent",
"projects":
[
{"project_name":"project1", "completed":true},
{"project_name":"project2", "completed":false}
]
}
예시1: 다음은 데이터 예시 중 이름을 조회하는 SQL 명령 및 조회 결과입니다.
Select s.name from COSObject s
{"name":"Leon"}
예시2: 다음은 데이터 예시 중 프로젝트 이름을 조회하는 SQL 명령 및 조회 결과입니다.
Select s.projects[0].project_name from COSObject s
{"project_name":"project1"}

헤더와 속성 이름의 대소문자 민감성

큰따옴표를 사용하여 CSV 파일의 헤더와 JSON 파일의 속성 이름을 표시하여 대소문자를 구분하는지 알 수 있습니다. 큰따옴표를 추가하지 않으면 헤더/속성 이름은 대소문자를 구분하지 않으며 명확하게 설정이 되어 있지 않은 경우 COS Select가 이상 경고를 보냅니다.
예시 1: 헤더/속성 이름에서 "NAME"이 있는 객체를 조회합니다. 다음 SQL 예시는 큰따옴표를 사용하지 않았으므로 대소문자를 구분하지 않습니다. 이 헤더가 테이블에 포함되기 때문에 값이 반환될 수 있습니다.
SELECT s.name from COSObject s
다음 SQL 예시는 큰따옴표를 사용하여 대소문자를 구분합니다. 테이블에서 이 헤더를 포함하지 않아 400 오류인 SQLParsingError이 반환됩니다.
SELECT s."name" from COSObject s
예시2: 헤더/속성 이름을 조회할 때 "NAME"과 "name"객체가 있습니다. 다음 SQL 예시는 큰따옴표를 사용하지 않아 대소문자를 구분하지 않습니다. 테이블에 "NAME"과 "name" 두 개의 헤더를 함께 포함하여 조회 명령 설정이 명확하지 않으므로 AmbiguousFieldName 이상 경고가 반환될 수 있습니다.
SELECT s.name from COSObject s
다음 SQL 예시는 큰따옴표를 사용하여 대소문자를 구분합니다. 테이블에 "NAME" 헤더가 포함되기 때문에 조회 결과가 반환될 수 있습니다.
SELECT s."NAME" from COSObject s

예약된 필드를 사용자 지정 필드로 사용하기

COS Select의 SQL 표현식에는 함수 이름, 데이터 유형, 오퍼레이터 등의 예약된 필드가 있습니다. 사용자는 예약된 필드를 CSV 파일 열 헤더 혹은 JSON 파일의 속성 이름으로 사용할 수 있는데 이때 예약된 필드와 충돌할 가능성이 있습니다. 이런 경우 큰따옴표를 사용하여 사용자 지정 필드가 사용 중임을 나타냅니다. 그렇지 않은 경우 COS가 400 parse error 오류를 반환할 수 있습니다.
완전한 예약된 필드 리스트를 조회해야 할 경우 예약된 필드를 참조하십시오.
예시: 조회할 객체의 헤더/속성 이름에는 예약된 필드 "CAST"가 포함되어 있습니다. 다음 SQL 예시는 큰따옴표를 사용하여 CAST가 사용자 지정 필드임을 나타내므로 조회 결과가 성공적으로 반환될 수 있습니다.
SELECT s."CAST" from COSObject s
아래 SQL 예시는 CAST가 사용자 지정 필드임을 나타내기 위해 큰따옴표를 쓰지 않았으므로 COS는 예약된 필드로 처리를 하고 400 parse error로 반환합니다.
SELECT s.CAST from COSObject s

스칼라 표현식

SELECT 명령과 WHERE 절에서 SQL 스칼라 표현식(스칼라 표현식 반환)을 사용할 수 있습니다. 현재 COS Select는 다음과 같은 형식을 지원합니다.
literal: SQL 텍스트.
column_reference: column_name이나 alias.column_name.
unary_opexpression: SQL 단항 오퍼레이터.
expressionbinary_opexpression: SQL 이항 오퍼레이터.
func_name: 호출된 스칼라 함수 이름.
expression [ NOT ] BETWEEN expression AND expression
expression LIKE expression [ ESCAPE expression ]

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백