Compartir a través de


Leer tablas de Delta Lake (ubicadas en Synapse o en una ubicación externa)

Importante

Azure HDInsight en AKS se retiró el 31 de enero de 2025. Obtenga más información mediante este anuncio.

Debe migrar las cargas de trabajo a microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo.

Importante

Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en versión beta, en versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte información de la versión preliminar de Azure HDInsight en AKS. Para preguntas o sugerencias de funciones, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.

En este artículo se proporciona información general sobre cómo leer una tabla de Delta Lake sin tener acceso a la metastore (Synapse u otras metastores sin acceso público).

Puede realizar las siguientes operaciones en las tablas mediante Trino con HDInsight en AKS.

  • BORRAR
  • ACTUALIZAR
  • INSERTAR
  • FUSIONAR

Prerrequisitos

Creación de esquemas y tablas de Delta Lake

En esta sección se muestra cómo crear una tabla Delta sobre una ubicación preexistente, suponiendo que ya tiene configurado el catálogo de Delta Lake.

  1. ** Navega por la cuenta de almacenamiento usando el Storage browser en el portal de Azure hacia el directorio base de tu tabla. Si esta tabla se origina en Synapse, es probable que esté en una ruta de acceso synapse/workspaces/.../warehouse/. Lleva el nombre de tu tabla y contiene un directorio _delta_log. Seleccione Copy URL en los tres puntos situados junto a la carpeta.

    Necesita convertir esta ruta de acceso http en una ruta ABFS (Sistema de archivos de blobs de Azure):

    La ruta de acceso http de almacenamiento está estructurada de la siguiente manera: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    Las rutas de acceso de ABFS deben tener este aspecto: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    Ejemplo: abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/

  2. Cree un esquema de Delta Lake en Trino.

    CREATE SCHEMA delta.default;
    

    Como alternativa, también puede crear un esquema en una cuenta de almacenamiento específica:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. Use el procedimiento register_table para crear la tabla.

    CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
    
  4. Consulte la tabla para comprobarlo.

    SELECT * FROM delta.default.table_name
    

Escribe tablas de Delta Lake en Synapse Spark

Use format("delta") para guardar un dataframe como una tabla Delta, y luego puede usar la ruta de acceso donde guardó el dataframe en formato Delta para registrar la tabla en Trino.

my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")

Pasos siguientes

Configuración del almacenamiento en caché en Trino