피드로 돌아가기
Why Delta, Iceberg, and Hudi Can't Write to FSx S3 Access Points — And What Works Instead
Dev.toDev.to
Infrastructure

FSx S3 AP의 API 제약으로 인한 Transactional Table Format 쓰기 불가 판정

Why Delta, Iceberg, and Hudi Can't Write to FSx S3 Access Points — And What Works Instead

Yoshiki Fujiwara(藤原 善基)@AWS Community Builder2026년 5월 26일13advanced

Context

FSx for ONTAP S3 Access Point(AP) 환경에서 Delta Lake, Iceberg, Hudi 등 Transactional Table Format의 쓰기 가능 여부를 검증함. 기본 S3 API 외에 조건부 쓰기 및 원자적 이름 변경 등 특수 작업이 필요한 테이블 포맷의 아키텍처적 요구사항과 FSx S3 AP의 API 구현 수준 간의 간극으로 인한 시스템 실패 상황임.

Technical Solution

  • Delta Lake의 Commit 프로토콜 내 If-None-Match 헤더를 통한 Conditional Write 요구사항과 FSx S3 AP의 501 Not Implemented 응답으로 인한 쓰기 실패 분석
  • Apache Hudi의 Timeline 관리를 위한 .inflight에서 .commit으로의 Atomic Rename 요구사항과 S3 API의 기본 Rename 기능 부재로 인한 결정적 제약 확인
  • Apache Iceberg의 Metadata 검증 과정에서 S3FileIO가 AP Alias를 처리하지 못해 발생하는 NullPointerException 식별
  • 트랜잭션 기능이 필요 없는 단순 데이터 적재를 위해 PutObject 기반의 Flat Parquet Append 방식 채택
  • ACID 트랜잭션 보장을 위해 S3 AP 대신 NFS/SMB 프로토콜을 통한 NAS 데이터 직접 접근 구조 설계
  • Raw 데이터는 FSxN에 저장하고 정제된 Curated Table은 Native S3에 배치하는 Hybrid Storage 아키텍처 제안

- FSx S3 AP 사용 시 Conditional Write(If-None-Match) 지원 여부 확인 - S3 기반 Lakehouse 구축 시 Atomic Rename 의존성 유무 검토 - Transactional Table Format 도입 전 스토리지 인터페이스의 API 호환성 매트릭스 작성 - 쓰기 성능과 트랜잭션 보장이 모두 필요한 경우 NFS/SMB 프로토콜 대안 검토

원문 읽기