Work with Azure Data Catalog Data in Apache Spark Using SQL

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Azure Data Catalog JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Azure Data Catalog.



Access and process Azure Data Catalog Data in Apache Spark using the CData JDBC Driver.

Apache Spark is a fast and general engine for large-scale data processing. When paired with the CData JDBC Driver for Azure Data Catalog, Spark can work with live Azure Data Catalog data. This article describes how to connect to and query Azure Data Catalog data from a Spark shell.

The CData JDBC Driver offers unmatched performance for interacting with live Azure Data Catalog data due to optimized data processing built into the driver. When you issue complex SQL queries to Azure Data Catalog, the driver pushes supported SQL operations, like filters and aggregations, directly to Azure Data Catalog and utilizes the embedded SQL engine to process unsupported operations (often SQL functions and JOIN operations) client-side. With built-in dynamic metadata querying, you can work with and analyze Azure Data Catalog data using native data types.

Install the CData JDBC Driver for Azure Data Catalog

Download the CData JDBC Driver for Azure Data Catalog installer, unzip the package, and run the JAR file to install the driver.

Start a Spark Shell and Connect to Azure Data Catalog Data

  1. Open a terminal and start the Spark shell with the CData JDBC Driver for Azure Data Catalog JAR file as the jars parameter: $ spark-shell --jars /CData/CData JDBC Driver for Azure Data Catalog/lib/cdata.jdbc.azuredatacatalog.jar
  2. With the shell running, you can connect to Azure Data Catalog with a JDBC URL and use the SQL Context load() function to read a table.

    You can optionally set the following to read the different catalog data returned from Azure Data Catalog.

      CatalogName: Set this to the CatalogName associated with your Azure Data Catalog. To get your Catalog name, navigate to your Azure Portal home page > Data Catalog > Catalog Name

    Connect Using OAuth Authentication

    You must use OAuth to authenticate with Azure Data Catalog. OAuth requires the authenticating user to interact with Azure Data Catalog using the browser. For more information, refer to the OAuth section in the help documentation.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Azure Data Catalog JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.azuredatacatalog.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    Configure the connection to Azure Data Catalog, using the connection string generated above.

    scala> val azuredatacatalog_df = spark.sqlContext.read.format("jdbc").option("url", "jdbc:azuredatacatalog:").option("dbtable","Tables").option("driver","cdata.jdbc.azuredatacatalog.AzureDataCatalogDriver").load()
  3. Once you connect and the data is loaded you will see the table schema displayed.
  4. Register the Azure Data Catalog data as a temporary table:

    scala> azuredatacatalog_df.registerTable("tables")
  5. Perform custom SQL queries against the Data using commands like the one below:

    scala> azuredatacatalog_df.sqlContext.sql("SELECT DslAddressDatabase, Type FROM Tables WHERE Name = FactProductInventory").collect.foreach(println)

    You will see the results displayed in the console, similar to the following:

Using the CData JDBC Driver for Azure Data Catalog in Apache Spark, you are able to perform fast and complex analytics on Azure Data Catalog data, combining the power and utility of Spark with your data. Download a free, 30 day trial of any of the 200+ CData JDBC Drivers and get started today.