Förstå användningsfallen för SQL- och Spark-poolintegrering
Apache Spark- och SQL-integreringen som är tillgänglig i Azure Synapse-analys ger flera fördelar:
- Du kan dra nytta av den beräkningskraft för stordata som Apache Spark erbjuder
- Det finns flexibilitet i användningen av Apache Spark- och SQL-språk och ramverk på en plattform
- Integreringen är sömlös och kräver ingen komplex konfiguration
- SQL och Apache Spark delar samma underliggande metadatalager för att enkelt överföra data
När du distribuerar ett Azure Synapse Apache Spark-kluster kan du därför lagra Apache Spark SQL-tabeller i Azure Data Lake Gen2-funktionen. Om du använder Apache Spark SQL-tabeller kan dessa tabeller frågas från ett SQL-baserat Transact-SQL-språk utan att behöva använda kommandon som CREATE EXTERNAL TABLE. I Azure Synapse Analytics integreras dessa frågor internt med datafiler som lagras i ett Apache Parquet-format.
Integreringen kan vara användbar i användningsfall där du utför en ETL-process i första hand med HJÄLP av SQL, men behöver anropa beräkningskraften i Apache Spark för att utföra en del av ETL-processen (extrahering, transformering och inläsning) eftersom den är mer effektiv.
Anta att du vill skriva data till en SQL-pool när du har utfört tekniska uppgifter i Apache Spark. Du kan referera till de dedikerade SQL-pooldata som källa för anslutning till en Apache Spark DataFrame som kan innehålla data från andra filer. Metoden använder Azure Synapse Apache Spark till Synapse SQL-anslutningsappen för att effektivt överföra data mellan Apache Spark- och SQL-poolerna.
Azure Synapse Apache Spark-poolen till Synapse SQL-anslutningsappen är en implementering av datakällan för Apache Spark. Den använder Azure Data Lake Storage Gen2 och PolyBase i SQL-pooler för att effektivt överföra data mellan Spark-klustret och Synapse SQL-instansen.
Det andra att tänka på är att utöver de funktioner som nämns ovan ger Azure Synapse Studio-upplevelsen dig en integrerad notebook-upplevelse. I den här notebook-upplevelsen kan du koppla en SQL- eller Apache Spark-pool och utveckla och köra transformeringspipelines med Hjälp av Python, Scala och inbyggd Spark SQL.