![]() |
VOOZH | about |
Databricks is a cloud-based service that provides data processing capabilities through Apache Spark. When paired with the CData JDBC Driver, customers can use Databricks to perform data engineering and data science on live Paylocity data. This article explains how to host the CData JDBC Driver in Azure, as well as connect to and process live Paylocity data in Databricks.
With built-in optimized data processing, the CData JDBC driver offers unmatched performance for interacting with live Paylocity data. When you issue complex SQL queries to Paylocity, the driver pushes supported SQL operations, like filters and aggregations, directly to Paylocity and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations). Its built-in dynamic metadata querying allows you to work with and analyze Paylocity data using native data types.
To work with live Paylocity data in Databricks, install the driver through Azure Data Lake Storage (ADLS). (Please note that the method of connecting through DBFS, which previous versions of this article described, has been deprecated, but has not published an end-of-life.)
https://databrickslibraries.blob.core.windows.net/jdbcjars/cdata.jdbc.salesforce.jarπ Get JAR URL
abfss://[email protected]/cdata.jdbc.salesforce.jarπ Install ADLS Library
With the JAR file installed, we are ready to work with live Paylocity data in Databricks. Start by creating a new notebook in your workspace. Name the workbook, make sure Python is selected as the language (which should be by default), click on Connect and under General Compute select the cluster where you installed the JDBC driver (should be selected by default).
π Attaching to an existing compute resourceConnect to Paylocity by referencing the class for the JDBC Driver and constructing a connection string to use in the JDBC URL. Additionally, you will need to set the property in the JDBC URL (unless you are using a Beta driver). You can view the licensing file included in the installation for information on how to set this property.
driver = "cdata.jdbc.paylocity.PaylocityDriver" url = "jdbc:paylocity:RTK=5246...;OAuthClientID=YourClientId;OAuthClientSecret=YourClientSecret;RSAPublicKey=YourRSAPubKey;Key=YourKey;IV=YourIV;InitiateOAuth=GETANDREFRESH;"
For assistance in constructing the JDBC URL, use the connection string designer built into the Paylocity JDBC Driver. Either double-click the JAR file or execute the JAR file from the command-line.
java -jar cdata.jdbc.paylocity.jar
Fill in the connection properties and copy the connection string to the clipboard.
Set the following to establish a connection to Paylocity:
This property is required for executing Insert and Update statements, and it is not required if the feature is disabled.
Paylocity will decrypt the AES key using RSA decryption.
It is an optional property if the IV value not provided, The driver will generate a key internally.
You must use OAuth to authenticate with Paylocity. OAuth requires the authenticating user to interact with Paylocity using the browser. For more information, refer to the OAuth section in the Help documentation.
The Pay Entry API is completely separate from the rest of the Paylocity API. It uses a separate Client ID and Secret, and must be explicitly requested from Paylocity for access to be granted for an account. The Pay Entry API allows you to automatically submit payroll information for individual employees, and little else. Due to the extremely limited nature of what is offered by the Pay Entry API, we have elected not to give it a separate schema, but it may be enabled via the UsePayEntryAPI connection property.
Please be aware that when setting UsePayEntryAPI to true, you may only use the CreatePayEntryImportBatch & MergePayEntryImportBatchgtable stored procedures, the
InputTimeEntry table, and the OAuth stored procedures. Attempts to use other features of the product will result in an error. You must also store your OAuthAccessToken
separately, which often means setting a different OAuthSettingsLocation when using this connection property.
π Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)
Once the connection is configured, you can load Paylocity data as a dataframe using the CData JDBC Driver and the connection information.
remote_table = spark.read.format ( "jdbc" ) \ .option ( "driver" , driver) \ .option ( "url" , url) \ .option ( "dbtable" , "Employee") \ .load ()
Check the loaded Paylocity data by calling the display function.
display (remote_table.select ("FirstName"))
π Displaying Paylocity DataIf you want to process data with Databricks SparkSQL, register the loaded data as a Temp View.
remote_table.createOrReplaceTempView ( "SAMPLE_VIEW" )
The SparkSQL below retrieves the Paylocity data for analysis.
result = spark.sql("SELECT FirstName, LastName FROM SAMPLE_VIEW WHERE SAMPLE_VIEWId = '1234'")
The data from Paylocity is only available in the target notebook. If you want to use it with other users, save it as a table.
remote_table.write.format ( "parquet" ) .saveAsTable ( "SAMPLE_TABLE" )π Displaying Paylocity Data
Download a free, 30-day trial of the CData JDBC Driver for Paylocity and start working with your live Paylocity data in Azure Databricks. Reach out to our Support Team if you have any questions.
Download a free trial of the Paylocity Driver to get started:
Download NowLearn more:
π Paylocity IconRapidly create and deploy powerful Java applications that integrate with Paylocity.