Share via


Delta Lake-tabellen lezen (Synapse of externe locatie)

Belangrijk

Deze functie is momenteel beschikbaar in preview. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews bevatten meer juridische voorwaarden die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet beschikbaar zijn in algemene beschikbaarheid. Zie Azure HDInsight op AKS Preview-informatie voor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight met de details en volgt u ons voor meer updates in de Azure HDInsight-community.

Dit artikel bevat een overzicht van het lezen van een Delta Lake-tabel zonder toegang tot de metastore (Synapse of andere metastores zonder openbare toegang).

U kunt de volgende bewerkingen uitvoeren in de tabellen met trino met HDInsight in AKS.

  • DELETE
  • UPDATE
  • INSERT
  • SAMENVOEGEN

Vereisten

Delta Lake-schema's en -tabellen maken

In deze sectie ziet u hoe u een Delta-tabel maakt op een vooraf bestaande locatie, aangezien u al een Delta Lake-catalogus hebt geconfigureerd.

  1. Blader door het opslagaccount met behulp van azure Storage browser Portal naar de locatie van de basismap van uw tabel. Als deze tabel afkomstig is uit Synapse, bevindt deze zich waarschijnlijk onder een synapse/workspaces/.../warehouse/ pad en krijgt deze een naam achter de tabel en bevat deze een _delta_log map. Selecteer Copy URL een van de drie puntjes naast de map.

    U moet dit HTTP-pad converteren naar een ABFS-pad (Azure Blob File System):

    Het HTTP-pad voor opslag is als volgt gestructureerd: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    ABFS-paden moeten er als volgt uitzien: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

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

  2. Maak een Delta Lake-schema in Trino.

    CREATE SCHEMA delta.default;
    

    U kunt ook een schema maken in een specifiek opslagaccount:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. Gebruik de register_table procedure om de tabel te maken.

    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. Voer een query uit op de tabel om te verifiëren.

    SELECT * FROM delta.default.table_name
    

Delta Lake-tabellen schrijven in Synapse Spark

Als format("delta") u een dataframe wilt opslaan als een Delta-tabel, kunt u het pad gebruiken waarin u het dataframe hebt opgeslagen als delta-indeling om de tabel in Trino te registreren.

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

Volgende stappen

Caching configureren in Trino