Leggere le tabelle gestite Apache Iceberg con Apache Spark

Le sezioni seguenti descrivono come leggere le tabelle gestite utilizzando le tabelle gestite Apache Iceberg (di seguito tabelle gestite Iceberg) con Apache Spark.

Prima di iniziare

  • Scopri i diversi tipi di tabelle BigLake e le implicazioni del loro utilizzo nella panoramica delle tabelle BigLake.

  • Prima di leggere le tabelle gestite Iceberg con Apache Spark, assicurati di aver configurato una connessione alla risorsa Cloud a un bucket di archiviazione. La connessione deve disporre delle autorizzazioni di scrittura sul bucket di archiviazione, come specificato nella seguente sezione Ruoli richiesti. Per maggiori informazioni sui ruoli e sulle autorizzazioni richiesti per le connessioni, consulta Gestire le connessioni.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per consentire a BigQuery di gestire le tabelle nel tuo progetto, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per consentire a BigQuery di gestire le tabelle nel tuo progetto. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per consentire a BigQuery di gestire le tabelle nel tuo progetto, sono necessarie le seguenti autorizzazioni:

  • bigquery.connections.delegate sul tuo progetto
  • bigquery.jobs.create sul tuo progetto
  • bigquery.readsessions.create sul tuo progetto
  • bigquery.tables.get sul tuo progetto
  • bigquery.tables.getData sul tuo progetto
  • storage.buckets.get sul tuo bucket
  • storage.objects.create sul tuo bucket
  • storage.objects.delete sul tuo bucket
  • storage.objects.get sul tuo bucket
  • storage.objects.list sul tuo bucket

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Leggere le tabelle gestite Iceberg con Apache Spark

Il seguente esempio configura l'ambiente per utilizzare Spark SQL con Apache Iceberg, quindi esegue una query per recuperare i dati da una tabella gestita Iceberg specificata.

spark-sql \
  --packages org.apache.iceberg:iceberg-spark-runtime-ICEBERG_VERSION_NUMBER \
  --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.CATALOG_NAME.type=hadoop \
  --conf spark.sql.catalog.CATALOG_NAME.warehouse='BUCKET_PATH' \

# Query the table
SELECT * FROM CATALOG_NAME.FOLDER_NAME;

Sostituisci quanto segue:

  • ICEBERG_VERSION_NUMBER: la versione attuale del runtime di Apache Spark Iceberg. Scarica l'ultima versione da Spark Releases.
  • CATALOG_NAME: il catalogo a cui fare riferimento per la tabella gestita Iceberg.
  • BUCKET_PATH: il percorso del bucket contenente i file della tabella. Ad esempio, gs://mybucket/.
  • FOLDER_NAME: la cartella contenente i file della tabella. Ad esempio, myfolder.

Passaggi successivi