Google Cloud Storage 파일시스템 지원
Google Cloud Storage 파일시스템 지원 (Google Cloud Storage file system support)
Trino는 Delta Lake, Hive, Hudi, Iceberg 커넥터를 사용하는 카탈로그로 Google Cloud Storage(GCS)에 접근하는 네이티브 구현을 포함해요.
출처: 문서
본문
Trino는 Delta Lake, Hive, Hudi, Iceberg 커넥터를 사용하는 카탈로그로 Google Cloud Storage(GCS)에 접근하는 네이티브 구현을 포함해요.
카탈로그 프로퍼티 파일에서 fs.gcs.enabled=true로 네이티브 구현을 활성화해요.
일반 구성 (General configuration)
Google Cloud Storage 파일시스템 지원의 일반적인 측면을 구성하려면 다음 프로퍼티를 사용해요.
| 프로퍼티 | 설명 |
|---|---|
fs.gcs.enabled |
Google Cloud Storage 지원의 네이티브 구현을 활성화해요. 기본값은 false. true로 설정하면 Google Cloud Storage를 사용하고 다른 모든 프로퍼티를 활성화해요. |
gcs.project-id |
Google Cloud Storage의 프로젝트 식별자. |
gcs.endpoint |
Google Cloud Storage 엔드포인트의 선택적 URL. 예를 들어 http://storage.example.com:8000처럼 커스텀 URL로 스토리지에 접근한다면 이 프로퍼티를 구성해요. |
gcs.client.max-retries |
최대 RPC 시도 횟수. 기본값은 20. |
gcs.client.backoff-scale-factor |
RPC 재시도 지연의 스케일 계수. 기본값은 3. |
gcs.client.max-retry-time |
RPC 호출 재시도의 총 시간 제한. 기본값은 25s. |
gcs.client.min-backoff-delay |
RPC 재시도 사이의 최소 지연. 기본값은 10ms. |
gcs.client.max-backoff-delay |
RPC 재시도 사이의 최대 지연. 기본값은 2s. |
gcs.read-block-size |
RPC당 읽는 블록의 최소 데이터 크기. 기본값은 2MiB. com.google.cloud.BaseStorageReadChannel 참고. |
gcs.write-block-size |
RPC당 쓰는 블록의 최소 데이터 크기. 기본값은 16MiB. com.google.cloud.BaseStorageWriteChannel 참고. |
gcs.page-size |
페이지당 반환할 최대 blob 수. 기본값은 100. |
gcs.batch-size |
배치당 삭제할 blob 수. 기본값은 100. 권장 배치 크기는 100. |
gcs.application-id |
Google Cloud Storage로 보내는 모든 요청의 User-Agent 헤더에 추가되는 애플리케이션 식별자를 지정해요. 기본값은 Trino. |
인증 (Authentication)
Google Cloud Storage에 대한 인증을 구성하려면 다음 프로퍼티 중 하나를 사용해요.
| 프로퍼티 | 설명 |
|---|---|
gcs.auth-type |
Google Cloud Storage 접근에 사용할 인증 타입. 기본값은 SERVICE_ACCOUNT. 지원 값은 다음과 같아요. |
- SERVICE_ACCOUNT: 환경에서 자격 증명(credentials)을 로드해요. 기본 자격 증명 제공자를 덮어쓰도록 gcs.json-key 또는 gcs.json-key-file-path를 추가로 설정할 수 있어요. |
|
- ACCESS_TOKEN: Google Cloud Storage에 접근하기 위해 클라이언트가 제공한 OAuth 2.0 토큰을 사용해요. |
|
- APPLICATION_DEFAULT: 환경에서 Google Application Default Credentials(ADC)를 얻으려 시도해요. ADC가 없으면 파일시스템은 NoCredentials.getInstance()로 폴백해 인증되지 않은 GCS 접근을 명시적으로 나타내요. |
|
gcs.json-key |
JSON 형식의 Google Cloud 서비스 계정 키. gcs.json-key-file-path와 함께 설정하면 안 돼요. |
gcs.json-key-file-path |
각 노드에 있는, Google Cloud Platform 서비스 계정 키를 담은 JSON 파일의 경로. gcs.json-key와 함께 설정하면 안 돼요. |
레거시 Google Cloud Storage 파일시스템에서 마이그레이션 (Migration from legacy Google Cloud Storage file system)
이전 Trino 릴리스에는 fs.hadoop.enabled와 hive.gcs.* 프로퍼티로 구성된 카탈로그가 사용하는 레거시 Google Cloud Storage 파일시스템 구현이 포함돼 있었어요. 그 레거시 지원은 제거됐어요. 네이티브 Google Cloud Storage 파일시스템 구현을 사용하세요.
카탈로그가 Google Cloud Storage용 네이티브 파일시스템 구현을 사용하도록 마이그레이션하려면 카탈로그 구성에서 다음 편집을 해요.
fs.gcs.enabled=true카탈로그 구성 프로퍼티를 추가해요.- 카탈로그가 레거시 Google Cloud Storage 접근에만
fs.hadoop.enabled를 활성화했다면 그 프로퍼티를 제거해요. - 다음 표를 참고해 기존 레거시 카탈로그 구성 프로퍼티를 해당 네이티브 구성 프로퍼티로 이름을 바꿔요. 별도 표기 외에는 지원되는 구성 값이 동일해요.
| 레거시 프로퍼티 | 네이티브 프로퍼티 | 비고 |
|---|---|---|
hive.gcs.use-access-token |
gcs.auth-type |
|
hive.gcs.json-key-file-path |
gcs.json-key-file-path |
앞선 섹션의 gcs.json-key도 참고하세요. |
더 알아보기 (Learn more)
Google Cloud Storage 파일시스템 구성을 배웠어요. 이어서 S3 파일시스템 지원을 살펴보면 좋아요.