Prophecy libraries
Prophecy libraries (ProphecyLibs) are small and lightweight utility libraries that offer comprehensive sets of Spark functions tailored for Prophecy customers. They address the most common data transformation use cases, including monitoring, auditing, connectors, and other data processing functions.
Here are the released artifacts:
For a list of the latest ProphecyLibs versions, see Version Chart.
Project dependencies
Depending on your project language (Python or Scala), the appropriate Prophecy library will be added as a dependency in your Prophecy project.
Prophecy libraries are installed in your Databricks cluster when you attach a cluster in your project. The version installed will be the same version defined in your project dependency settings. You can easily update the ProphecyLibs version of your project if necessary.
Functionality
Pipeline monitoring
Spark lacks auditing or monitoring capabilities for its pipelines out of the box. Prophecy libraries bridge this gap by offering step-by-step transformation monitoring, enabling users to easily comprehend pipeline execution metrics (e.g., times of arrival, amount of data processed), data profiles, and detailed debugging information at every pipeline step.
Pipeline monitoring is fully independent of the Prophecy IDE, using standard metadata tables. Reading and leveraging this information for downstream consumption is as simple as reading a table.
To learn more about Prophecy monitoring capabilities, see Pipeline Monitoring. To learn more about metrics setup, see Execution Metrics.
Utility functions
The standard Spark function library covers the basics of data transformation but often falls short for enterprise data platforms. Prophecy libraries offer additional utility functions essential for complex data operations, especially during legacy platform migrations.
This includes comprehensive data lookup functionality, configuration management, complex type processing UDFs, secret manager integration, and other high-demand functions.
Legacy connectors
Prophecy libraries provide several high-performance connectors missing from the standard Spark source palette. This includes an EBCDIC fixed format, SFTP, and REST API connectors, ensuring seamless integration with legacy systems.
Download Prophecy libraries
If you want to download Prophecy libraries, you can find them publicly from the following cloud providers. For example, if Maven/PyPI is blocked on Databricks, you may want to add Prophecy libraries to your Databricks volumes.
Azure
-
ProphecyScalaLibs
https://prophecypublicazure.blob.core.windows.net/prophecy-public-libs/prophecy-scala-libs/
-
ProphecyPythonLibs
https://prophecypublicazure.blob.core.windows.net/prophecy-public-libs/prophecy-python-libs/
GCP
-
ProphecyScalaLibs
gs://prophecy-public-gcp/prophecy-scala-libs/
-
ProphecyPythonLibs
gs://prophecy-public-gcp/prophecy-python-libs/
AWS (S3)
-
ProphecyScalaLibs
s3://prophecy-public-bucket/prophecy-libs/
-
ProphecyPythonLibs
s3://prophecy-public-bucket/python-prophecy-libs/
License
Prophecy libraries are source-available to all Prophecy customers. The built artifacts of Prophecy libraries are published in public repositories. Source code access is available via secure file-sharing per request.