전체 테이블 액세스를 위해 AWS Lake Formation에서 AWS Glue 사용 - AWS Glue

전체 테이블 액세스를 위해 AWS Lake Formation에서 AWS Glue 사용

전체 테이블 액세스 소개

AWS Glue 5.0은 AWS Lake Formation에 정의된 정책에 따라 Apache Spark에서 전체 테이블 액세스(FTA) 제어를 지원합니다. 이 기능을 사용하면 작업 역할에 전체 테이블 액세스 권한이 있을 때 AWS Lake Formation 등록 테이블의 AWS Glue Spark 작업에서 읽기 및 쓰기 작업을 수행할 수 있습니다. FTA는 테이블 수준에서 보안 규정을 준수해야 하는 사용 사례에 이상적이고, AWS Lake Formation 테이블이 있는 탄력적 분산형 데이터세트(RDD), 사용자 지정 라이브러리 및 사용자 정의 함수(UDF)를 비롯한 Spark 기능을 지원합니다.

AWS Glue Spark 작업이 전체 테이블 액세스(FTA)로 구성된 경우 AWS Lake Formation 자격 증명은 AWS Lake Formation 등록 테이블에 대한 Amazon S3 데이터를 읽거나 쓰는 데 사용되는 반면, 작업의 런타임 역할 자격 증명은 AWS Lake Formation에 등록되지 않은 테이블을 읽거나 쓰는 데 사용됩니다. 이 기능을 사용하면 Apache Hive 및 Iceberg 테이블에서 CREATE, ALTER, DELETE, UPDATE 및 MERGE INTO 문을 포함한 데이터 조작 언어(DML) 작업을 수행할 수 있습니다.

참고

요구 사항을 검토하고 세분화된 액세스 제어(FGAC) 또는 전체 테이블 액세스(FTA)가 요구 사항에 적합한지 확인합니다. 지정된 AWS Glue 작업에 대해 단 하나의 AWS Lake Formation 권한 방법이 활성화될 수 있습니다. 작업은 전체 테이블 액세스(FTA)와 세분화된 액세스 제어(FGAC)를 동시에 실행할 수 없습니다.

AWS Glue에서의 전체 테이블 액세스(FTA) 작동 방식

AWS Lake Formation에서는 데이터 액세스 제어에 있어 세분화된 액세스 제어(FGAC)와 전체 테이블 액세스(FTA)라는 두 가지 접근 방식을 제공합니다. FGAC는 열, 행 및 셀 수준 필터링을 통해 보안이 향상되므로 세분화된 권한이 필요한 시나리오에 적합합니다. FTA는 테이블 수준 권한이 필요한 간단한 액세스 제어에 적합합니다. 세분화된 액세스 모드를 활성화할 필요가 없어 구현이 간소화되고, 시스템 드라이버와 시스템 실행기를 방지하여 성능을 개선하고 비용을 절감하며, 읽기 및 쓰기 작업(예: CREATE, ALTER, DELETE, UPDATE, MERGE INTO 명령)을 모두 지원합니다.

AWS Glue 4.0에서 AWS Lake Formation 기반 데이터 액세스는 AWS Glue에서 제공하는 유틸리티 클래스인 GlueContext 클래스를 통해 작동했습니다. AWS Glue 5.0에서는 네이티브 Spark SQL, Spark DataFrames를 통해 AWS Lake Formation 기반 데이터 액세스가 제공되고, 계속해서 GlueContext 클래스를 통해 지원됩니다.

전체 테이블 액세스 구현

1단계: AWS Lake Formation에서 전체 테이블 액세스 활성화

전체 테이블 액세스(FTA) 모드를 사용하려면 AWS Lake Formation에서 IAM 세션 태그 검증 없이 타사 쿼리 엔진이 데이터에 액세스하도록 허용해야 합니다. 활성화하려면 Application integration for full table access의 단계를 따릅니다.

2단계: 작업 런타임 역할에 대한 IAM 권한 설정

기본 데이터에 대한 읽기 또는 쓰기 액세스의 경우 작업 런타임 역할에는 AWS Lake Formation 권한 외에도 lakeformation:GetDataAccess IAM 권한이 필요합니다. 이 권한을 통해 AWS Lake Formation은 데이터에 액세스하기 위한 임시 자격 증명 요청을 승인합니다.

다음은 Amazon S3의 스크립트에 액세스할 수 있는 IAM 권한을 제공하는 방법, S3에 로그 업로드, AWS Glue Glue API 권한 및 AWS Lake Formation에 액세스할 수 있는 권한에 대한 정책 예제입니다.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/scripts/*" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/default", "arn:aws:glue:us-east-1:111122223333:table/default/*" ] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

2.1단계: AWS Lake Formation 권한 구성

Amazon S3에서 데이터를 읽는 AWS Glue Spark 작업에는 AWS Lake Formation SELECT 권한이 필요합니다.

Amazon S3에서 데이터를 쓰거나 삭제하는 AWS Glue Spark 작업에는 AWS Lake Formation ALL 권한이 필요합니다.

AWS Glue Data Catalog와 상호 작용하는 AWS Glue Spark 작업에는 DESCRIBE, ALTER, DROP 권한이 필요합니다.

3단계: AWS Lake Formation을 사용하여 전체 테이블 액세스를 위한 Spark 세션 초기화

AWS Lake Formation에 등록된 테이블에 액세스하려면 Spark 초기화 중에 다음 구성을 설정하여 AWS Lake Formation 자격 증명을 사용하도록 Spark를 구성해야 합니다.

AWS Lake Formation에 등록된 테이블에 액세스하려면 AWS Lake Formation 자격 증명을 사용하도록 Spark 세션을 명시적으로 구성해야 합니다. Spark 세션을 초기화할 때 다음 구성 추가:

from pyspark.sql import SparkSession # Initialize Spark session with Lake Formation configurations spark = SparkSession.builder \ .appName("Lake Formation Full Table Access") \ .config("spark.sql.catalog.glue_catalog", "org.apache.spark.sql.catalog.hive.GlueCatalog") \ .config("spark.sql.catalog.glue_catalog.glue.lakeformation-enabled", "true") \ .config("spark.sql.defaultCatalog", "glue_catalog") \ .getOrCreate()

키 구성:

  • spark.sql.catalog.glue_catalog: GlueCatalog 구현을 사용하는 'glue_catalog' 카탈로그 등록

  • spark.sql.catalog.glue_catalog.glue.lakeformation-enabled: 이 카탈로그에 대한 AWS Lake Formation 통합을 명시적으로 활성화

  • 카탈로그 이름(이 예제에서는 'glue_catalog')을 사용자 지정할 수 있지만 두 구성 설정 모두에서 일관적이어야 합니다.

Hive

‐‐conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true

Iceberg

--conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true --conf spark.sql.catalog.<catalog>.AWS Glue.lakeformation-enabled=true
  • spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver: AWS Lake Formation 등록 테이블에 AWS Lake Formation S3 자격 증명을 사용하도록 EMR 파일 시스템(EMRFS) 구성 테이블이 등록되지 않은 경우 작업의 런타임 역할 자격 증명을 사용합니다.

  • spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=truespark.hadoop.fs.s3.folderObject.autoAction.disabled=true: S3 폴더를 생성할 때 $folder$ 접미사 대신 콘텐츠 유형 헤더 application/x-directory를 사용하도록 EMRFS를 구성합니다. AWS Lake Formation 자격 증명은 $folder$ 접미사가 있는 테이블 폴더 읽기를 허용하지 않으므로 AWS Lake Formation 테이블을 읽을 때 필요합니다.

  • spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true: 생성 전에 테이블 위치가 비어 있는지 확인하는 작업을 건너뛰도록 Spark를 구성합니다. AWS Lake Formation 등록 테이블에서는 필수입니다. 위치가 비어 있는지 확인하기 위한 AWS Lake Formation 자격 증명은 AWS Glue Data Catalog 테이블을 생성한 후에만 사용할 수 있기 때문입니다. 이 구성이 없으면 작업의 런타임 역할 자격 증명이 빈 테이블 위치를 검증합니다.

  • spark.sql.catalog.createDirectoryAfterTable.enabled=true: Hive 메타스토어에서 테이블 생성 후 Amazon S3 폴더를 생성하도록 Spark를 구성합니다. AWS Lake Formation 등록 테이블에서는 필수입니다. Amazon S3 폴더를 생성하기 위한 AWS Lake Formation 자격 증명은 AWS Glue Data Catalog 테이블을 생성한 후에만 사용할 수 있기 때문입니다.

  • spark.sql.catalog.dropDirectoryBeforeTable.enabled=true: Hive 메타스토어에서 테이블 삭제 전 Amazon S3 폴더를 제거하도록 Spark를 구성합니다. AWS Lake Formation 등록 테이블에서는 필수입니다. AWS Glue Data Catalog에서 테이블을 삭제한 후에는 S3 폴더를 삭제하기 위한 AWS Lake Formation 자격 증명을 사용할 수 없기 때문입니다.

  • spark.sql.catalog.<catalog>.AWS Glue.lakeformation-enabled=true: AWS Lake Formation 등록 테이블에 AWS Lake Formation Amazon S3 자격 증명을 사용하도록 Iceberg 카탈로그를 구성합니다. 테이블이 등록되지 않은 경우 기본 환경 자격 증명을 사용합니다.

사용 패턴

DataFrames에서 FTA 사용

Spark에 익숙한 사용자의 경우 DataFrames를 AWS Lake Formation 전체 테이블 액세스에서 사용할 수 있습니다.

AWS Glue 5.0은 Lake Formation 전체 테이블 액세스에 대한 네이티브 Spark 지원을 추가하여 보호되는 테이블 사용 방식을 간소화합니다. 이 기능을 사용하면 전체 테이블 액세스 권한이 부여될 때 AWS Glue 5.0 AWS Glue Spark 작업에서 데이터를 직접 읽고 쓸 수 있으므로 이전에 특정 추출, 전환, 적재(ETL) 작업의 제한 사항이 제거됩니다. 이제 탄력적 분산형 데이터세트(RDD), 사용자 지정 라이브러리, 사용자 정의 함수(UDF) 등의 고급 Spark 기능을 AWS Lake Formation 테이블에서 활용할 수 있습니다.

AWS Glue 5.0의 네이티브 Spark FTA

AWS Glue 5.0은 AWS Lake Formation에 정의된 정책에 따라 Apache Spark에서 전체 테이블 액세스(FTA) 제어를 지원합니다. 이 제어 수준은 테이블 수준에서 보안 규정을 준수해야 하는 사용 사례에 적합합니다.

Apache Iceberg 테이블 예제

from pyspark.sql import SparkSession catalog_name = "spark_catalog" aws_region = "us-east-1" aws_account_id = "123456789012" warehouse_path = "s3://amzn-s3-demo-bucket/warehouse/" spark = SparkSession.builder \ .config("spark.sql.extensions","org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions") \ .config(f"spark.sql.catalog.{catalog_name}", "org.apache.iceberg.spark.SparkSessionCatalog") \ .config(f"spark.sql.catalog.{catalog_name}.warehouse", f"{warehouse_path}") \ .config(f"spark.sql.catalog.{catalog_name}.client.region",f"{aws_region}") \ .config(f"spark.sql.catalog.{catalog_name}.glue.account-id",f"{aws_account_id}") \ .config(f"spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled","true") \ .config(f"spark.sql.catalog.dropDirectoryBeforeTable.enabled", "true") \ .config(f"spark.sql.catalog.{catalog_name}.catalog-impl", "org.apache.iceberg.aws.glue.GlueCatalog") \ .config(f"spark.sql.catalog.{catalog_name}.io-impl", "org.apache.iceberg.aws.s3.S3FileIO") \ .config("spark.sql.defaultCatalog", catalog_name) \ # Add this line .getOrCreate() database_name = "your_database" table_name = "your_table" df = spark.sql(f"select * from {database_name}.{table_name}") df.show()

필수 IAM 권한

AWS Glue 작업 실행 역할에 필요한 사항:

{ "Action": "lakeformation:GetDataAccess", "Resource": "*", "Effect": "Allow" }

추가로 데이터 위치에 대해 적절한 S3 액세스 권한.

Lake Formation 구성

5.0에서 AWS Glue 네이티브 Spark FTA를 사용하기 전에:

  1. AWS Lake Formation에서 IAM 세션 태그 검증 없이 타사 쿼리 엔진이 데이터에 액세스하도록 허용

  2. AWS Lake Formation 콘솔을 통해 AWS Glue 작업 실행 역할에 적절한 테이블 권한 부여

  3. 위 예제에 표시된 필수 파라미터로 Spark 세션 구성

DynamicFrames에서 FTA 사용

AWS Glue의 네이티브 DynamicFrames는 최적화된 ETL 작업을 위해 AWS Lake Formation 전체 테이블 액세스에서 사용할 수 있습니다. 전체 테이블 액세스(FTA)는 테이블 수준에서 권한을 부여하는 보안 모델을 제공하고, 행 및 열 수준 권한 검사의 오버헤드를 우회하므로 세분화된 액세스 제어(FGAC)에 비해 데이터 처리 속도가 빨라집니다. 이 접근 방식은 전체 테이블을 처리하고 테이블 수준 권한이 보안 요구 사항을 충족해야 하는 경우에 유용합니다.

AWS Glue 4.0에서는 FTA를 사용하는 DynamicFrames에 특정 GlueContext 구성이 필요했습니다. FTA를 사용하는 기존 AWS Glue 4.0 DynamicFrame 코드는 AWS Glue 5.0에서 계속 작동하지만 최신 버전이 더욱 유연하게 네이티브 Spark FTA 지원도 제공합니다. 새로운 개발의 경우 DataFrames 섹션에서 설명하는 네이티브 Spark 접근 방식을 사용하는 것이 좋습니다. 특히 AWS Lake Formation 테이블이 있는 탄력적 분산형 데이터세트(RDD), 사용자 지정 라이브러리 및 사용자 정의 함수(UDF)와 같은 추가 기능이 필요한 경우 더욱 바람직합니다.

필수 권한

Glue 작업을 실행하는 IAM 역할에 필요한 사항:

  • lakeformation:GetDataAccess 권한

  • Lake Formation 콘솔을 통해 부여된 적절한 Lake Formation 테이블 권한

AWS Glue 5.0에서의 DynamicFrame 구현 예제

from awsglue.context import GlueContext from pyspark.context import SparkContext # Initialize Glue context sc = SparkContext() glueContext = GlueContext(sc) # Configure catalog for Iceberg tables catalog_name = "glue_catalog" aws_region = "us-east-1" aws_account_id = "123456789012" warehouse_path = "s3://amzn-s3-demo-bucket/warehouse/" spark = glueContext.spark_session spark.conf.set(f"spark.sql.catalog.{catalog_name}", "org.apache.iceberg.spark.SparkCatalog") spark.conf.set(f"spark.sql.catalog.{catalog_name}.warehouse", f"{warehouse_path}") spark.conf.set(f"spark.sql.catalog.{catalog_name}.catalog-impl", "org.apache.iceberg.aws.glue.GlueCatalog") spark.conf.set(f"spark.sql.catalog.{catalog_name}.io-impl", "org.apache.iceberg.aws.s3.S3FileIO") spark.conf.set(f"spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled","true") spark.conf.set(f"spark.sql.catalog.{catalog_name}.client.region",f"{aws_region}") spark.conf.set(f"spark.sql.catalog.{catalog_name}.glue.id", f"{aws_account_id}") # Read Lake Formation-protected table with DynamicFrame df = glueContext.create_data_frame.from_catalog( database="your_database", table_name="your_table" )

추가 구성

AWS Glue Studio 노트북에서 전체 테이블 액세스 모드 구성

AWS Glue Studio 노트북의 대화형 Spark 세션에서 AWS Lake Formation 등록 테이블에 액세스하려면 호환성 권한 모드를 사용해야 합니다. 대화형 세션을 시작하기 전에 %%configure 매직 명령을 사용하여 Spark 구성을 설정합니다. 세션이 시작된 후에는 적용할 수 없으므로 이 구성은 노트북의 첫 번째 명령이어야 합니다. 테이블 유형을 기반으로 구성 선택:

Hive 테이블

%%configure --conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true

Iceberg 테이블

%%configure --conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true --conf spark.sql.catalog.glue_catalog.glue.lakeformation-enabled=true --conf spark.sql.catalog.glue_catalog.warehouse=s3://example-s3-bucket_DATA_LOCATION --conf spark.sql.catalog.glue_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog --conf spark.sql.catalog.glue_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO --conf spark.sql.catalog.glue_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.glue_catalog.glue.region=REGION

자리 표시자 바꾸기:

  • S3_DATA_LOCATION: s3://amzn-s3-demo-bucket

  • REGION: AWS 리전(예: us-east-1)

  • ACCOUNT_ID: AWS 계정 ID

참고

노트북에서 Spark 작업을 실행하기 전에 이러한 구성을 설정해야 합니다.

지원되는 작업

이러한 작업은 AWS Lake Formation 자격 증명을 사용하여 테이블 데이터에 액세스합니다.

참고

AWS Lake Formation 활성화:

  • FTA: Spark 구성 spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled 활성화

  • CREATE TABLE

  • ALTER TABLE

  • INSERT INTO

  • INSERT OVERWRITE

  • SELECT

  • UPDATE

  • MERGE INTO

  • DELETE FROM

  • ANALYZE TABLE

  • REPAIR TABLE

  • DROP TABLE

  • Spark 데이터 소스 쿼리

  • Spark 데이터 소스 쓰기

참고

위에 나열되지 않은 작업은 계속해서 IAM 권한을 사용하여 테이블 데이터에 액세스합니다.

AWS Glue 4.0에서 AWS Glue 5.0 FTA로 마이그레이션

4.0 GlueContext FTA에서 AWS Glue 5.0 AWS Glue 네이티브 Spark FTA로 마이그레이션하는 경우:

  1. AWS Lake Formation에서 IAM 세션 태그 검증 없이 타사 쿼리 엔진이 데이터에 액세스하도록 허용합니다. 1단계: AWS Lake Formation에서 전체 테이블 액세스 활성화의 내용을 따릅니다.

  2. 작업 런타임 역할을 변경할 필요가 없습니다. 하지만 AWS Glue 작업 실행 역할에 lakeformation:GetDataAccess IAM 권한이 있는지 확인합니다.

  3. 스크립트에서 Spark 세션 구성을 수정합니다. 다음 Spark 구성이 있는지 확인:

    --conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=s3://<bucket-name>/warehouse/ --conf spark.sql.catalog.spark_catalog.client.region=<REGION> --conf spark.sql.catalog.spark_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.spark_catalog.glue.lakeformation-enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
  4. GlueContext DataFrames가 네이티브 Spark DataFrames로 변경되도록 스크립트를 업데이트합니다.

  5. AWS Glue 5.0을 사용하도록 AWS Glue 작업 업데이트

고려 사항 및 제한

  • 전체 테이블 액세스가 활성화되지 않은 작업을 사용하여 Hive 테이블이 생성되고, 삽입된 레코드가 없는 경우 전체 테이블 액세스를 사용하는 작업의 후속 읽기 또는 쓰기는 실패합니다. 전체 테이블 액세스 권한이 없는 AWS Glue Spark가 $folder$ 접미사를 테이블 폴더 이름에 추가하기 때문입니다. 이 문제는 다음과 같은 방법으로 해결할 수 있습니다.

    • FTA가 활성화되지 않은 작업의 테이블에 1개 이상의 행을 삽입합니다.

    • S3의 폴더 이름에 $folder$ 접미사를 사용하지 않도록 FTA가 활성화되지 않은 작업을 구성합니다. Spark 구성 spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true를 설정하면 가능합니다.

    • Amazon S3 콘솔 또는 Amazon S3 CLI를 사용하여 테이블 위치 s3://path/to/table/table_name에 Amazon S3 폴더를 생성합니다.

  • 전체 테이블 액세스는 EMR 파일 시스템(EMRFS)에서만 작동합니다. S3A 파일 시스템은 호환되지 않습니다.

  • Hive 및 Iceberg 테이블의 경우 전체 테이블 액세스가 지원됩니다. Hudi 및 Delta 테이블에 대한 지원은 아직 추가되지 않았습니다.

  • AWS Lake Formation 세분 영역 액세스 제어(FGAC) 규칙 또는 AWS Glue Data Catalog 뷰가 있는 테이블을 참조하는 작업은 실패합니다. FGAC 규칙 또는 AWS Glue Data Catalog 뷰로 테이블을 쿼리하려면 FGAC 모드를 사용해야 합니다. AWS 설명서: 세분화된 액세스 제어를 위해 AWS Lake Formation에서 AWS Glue 사용에서 설명하는 단계에 따라 FGAC 모드를 활성화할 수 있습니다.

  • 전체 테이블 액세스는 Spark 스트리밍을 지원하지 않습니다.

  • FGAC와 동시에 사용할 수 없습니다.