Usar tabelas do Linux Foundation Delta Lake no Amazon Athena para Apache Spark - Amazon Athena

Usar tabelas do Linux Foundation Delta Lake no Amazon Athena para Apache Spark

O Linux Foundation Delta Lake é um formato de tabela que pode ser usado para análise de big data. Use o Athena para Spark para ler tabelas do Delta Lake armazenadas diretamente no Amazon S3.

Para usar tabelas do Delta Lake no Athena para Spark, configure as propriedades do Spark a seguir. Essas propriedades são configuradas por padrão no console do Athena para Spark quando você escolhe Delta Lake como formato de tabela. Para obter as etapas, consulte Etapa 4: editar detalhes de sessões ou Etapa 7: criar seu próprio caderno.

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

O procedimento a seguir mostra como usar uma tabela do Delta Lake em um caderno do Athena para Spark. Execute cada etapa em uma nova célula no caderno.

Para usar uma tabela do Delta Lake no Athena para Spark
  1. Defina as constantes a serem usadas no caderno.

    DB_NAME = "NEW_DB_NAME" TABLE_NAME = "NEW_TABLE_NAME" TABLE_S3_LOCATION = "s3://amzn-s3-demo-bucket"
  2. Crie um DataFrame do Apache Spark.

    columns = ["language","users_count"] data = [("Golang", 3000)] df = spark.createDataFrame(data, columns)
  3. Crie um banco de dados.

    spark.sql("CREATE DATABASE {} LOCATION '{}'".format(DB_NAME, TABLE_S3_LOCATION))
  4. Crie uma tabela vazia do Delta Lake.

    spark.sql(""" CREATE TABLE {}.{} ( language string, users_count int ) USING DELTA """.format(DB_NAME, TABLE_NAME))
  5. Insira uma linha de dados na tabela.

    spark.sql("""INSERT INTO {}.{} VALUES ('Golang', 3000)""".format(DB_NAME, TABLE_NAME))
  6. Confirme se é possível consultar a nova tabela.

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