HDFS 데이터베이스 엔진
HDFS 데이터베이스 엔진
HDFS의 파일을 읽기 전용 테이블로 노출하는 데이터베이스 엔진이에요. 테이블 이름은 hdfs 테이블 함수로 해석돼요.
출처: 문서
본문
HDFS 데이터베이스 엔진은 HDFS의 파일을 읽기 전용 테이블로 노출해요. 테이블 이름은 hdfs 테이블 함수로 해석돼요.
데이터베이스 만들기 (Creating a database)
CREATE DATABASE hdfs_data
ENGINE = HDFS([hdfs_host_and_root_path]);
hdfs_host_and_root_path는 선택적으로 기본 HDFS URL을 설정해요. 그것이 있으면 테이블 이름은 그 URL에 상대적인 경로예요. 없으면 테이블 이름은 전체 hdfs:// URL이어야 해요.
사용 (Usage)
CREATE DATABASE hdfs_data
ENGINE = HDFS('hdfs://namenode:9000/data');
SELECT * FROM hdfs_data.`events.parquet`;
스키마와 형식은 hdfs 테이블 함수와 같은 방식으로 추론돼요. 데이터베이스는 테이블 정의를 소유하지 않으며 테이블 DDL이나 쓰기를 지원하지 않아요.
접근 제어 (Access control)
HDFS URL은 서버의 원격 호스트 필터에 대해 검사돼요. 이 데이터베이스를 만들려면 table_engines_require_grant와 무관하게 HDFS에 대한 READ와 WRITE 소스 권한이 필요해요. 예를 들어:
GRANT READ, WRITE ON HDFS TO user_name;
버전·호환성 세부사항은 SOURCES 권한을 참고해요.