본문 바로가기
WIKI 기술 지식 베이스

lakeFS와 Dremio 함께 사용하기

원문 보기 위키 갱신

Dremio는 S3와 lakeFS를 포함한 클라우드 데이터 레이크 스토리지 위에서 라이브하고 인터랙티브한 쿼리로 데이터를 해방시키는 차세대 데이터 레이크 엔진이에요.

출처: 문서

본문

Iceberg REST Catalog

lakeFS를 Dremio와 함께 사용하는 권장 방법은 lakeFS Iceberg REST Catalog를 통하는 거예요. lakeFS는 완전히 데이터 경로 밖에 있어서, 데이터는 Dremio executor가 하부 오브젝트 스토어에 직접 읽고 쓰고, lakeFS는 테이블 메타데이터를 버저닝해요.

설정

Dremio가 Iceberg REST Catalog와 함께 동작하도록 하려면 Dremio에서의 Iceberg REST Catalog를 설정해야 해요.

  • Datasets 페이지에서 왼쪽 패널의 Sources 오른쪽에 있는 +를 클릭해요

  • Add Data Source 대화상자에서 Lakehouse Catalogs 아래 Iceberg REST Catalog 소스를 선택해요. 다음 탭을 담은 New Iceberg REST Catalog Source 대화상자가 나타나요:

  • General에서 →

  • Iceberg REST Catalog 소스의 이름을 입력하고, 엔드포인트 URI를 지정해요 (즉 https://lakefs.example.com/iceberg/api)

  • "Use vended credentials"의 체크를 해제해요

  • Advanced Options → Catalog Properties에서 다음 키-값 쌍을 추가해요 (왼쪽 = 키, 오른쪽 = 값):

키 값 비고
oauth2-server-uri https://lakefs.example.com/iceberg/api/v1/oauth/tokens lakeFS OAuth2 토큰 엔드포인트예요 (카탈로그 URL이 아니에요).
credential <lakefs_access_key>:<lakefs_secret_key> lakeFS 자격 증명이에요.
fs.s3a.aws.credentials.provider org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider 정적 AWS 자격 증명을 사용해요.
fs.s3a.access.key <aws_access_key_id> 데이터 버킷에 읽기/쓰기 권한이 있는 AWS 키예요.
fs.s3a.secret.key <aws_secret_access_key> AWS 시크릿 키예요.
dremio.s3.list.all.buckets false 초기화 중 모든 버킷을 나열하지 않게 해요.
  • Save를 클릭해 Iceberg REST Catalog 소스를 만들어요.

데이터 버킷 권한

lakeFS Iceberg Catalog는 테이블 메타데이터를 관리하고, Dremio는 하부 스토리지(예: Amazon S3)에서 데이터 파일을 직접 읽고 써요.

Dremio가 사용하는 IAM 역할이나 사용자가 데이터 버킷에 읽기/쓰기 접근 권한을 갖도록 반드시 확인하세요. 다음 AWS IAM 정책이 직접 접근에 필요한 권한을 제공해요:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DremioIcebergAccess",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<lakefs_repo_storage_namespace>/_managed/",
                "arn:aws:s3:::<lakefs_repo_storage_namespace>/_managed/*"
            ]
        },
        {
            "Sid": "BucketLevelRequiredForDremio",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::<lakefs_repo_storage_namespace_bucket_name>"
        }
    ]
}

팁

Iceberg REST Catalog에 대해 더 알아보려면 Iceberg 연동 문서를 참고하세요.

더 알아보기 (Learn more)

공식 문서: lakeFS Dremio 연동