Athena for Spark에서 Linux Foundation Delta Lake 테이블 사용 - Amazon Athena

Athena for Spark에서 Linux Foundation Delta Lake 테이블 사용

Linux Foundation Delta Lake는 빅 데이터 분석에 사용할 수 있는 테이블 형식입니다. Athena for Spark를 사용하여 Amazon S3에 저장된 Delta Lake 테이블을 직접 읽을 수 있습니다.

Athena for Spark에서 Delta Lake 테이블을 사용하려면 다음 Spark 속성을 구성합니다. Delta Lake를 테이블 형식으로 선택하면 Athena for Spark 콘솔에서 이러한 속성이 기본적으로 구성됩니다. 관련 단계는 4단계: 세션 세부 정보 편집 또는 7단계: 자체 노트북 생성 섹션을 참조하세요.

"spark.sql.catalog.spark_catalog" : "org.apache.spark.sql.delta.catalog.DeltaCatalog", "spark.sql.extensions" : "io.delta.sql.DeltaSparkSessionExtension"

다음 절차는 Athena for Stork 노트북에서 Delta Lake 테이블을 사용하는 방법을 보여줍니다. 노트북의 새 셀에서 각 단계를 실행합니다.

Athena for Spark에서 Delta Lake 테이블을 사용하려면
  1. 노트북에서 사용할 상수를 정의합니다.

    DB_NAME = "NEW_DB_NAME" TABLE_NAME = "NEW_TABLE_NAME" TABLE_S3_LOCATION = "s3://amzn-s3-demo-bucket"
  2. Apache Spark DataFrame을 생성합니다.

    columns = ["language","users_count"] data = [("Golang", 3000)] df = spark.createDataFrame(data, columns)
  3. 데이터베이스를 생성합니다.

    spark.sql("CREATE DATABASE {} LOCATION '{}'".format(DB_NAME, TABLE_S3_LOCATION))
  4. 빈 Delta Lake 테이블을 생성합니다.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING DELTA """.format(DB_NAME, TABLE_NAME))
  5. 테이블에 데이터 행을 삽입합니다.

    spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(DB_NAME, TABLE_NAME))
  6. 새 테이블을 쿼리할 수 있는지 확인합니다.

    spark.sql("SELECT * FROM {}.{}".format(DB_NAME, TABLE_NAME)).show()