Delta Sharing
Delta Sharing lets Amigo provide governed, read-only access to selected tables so you can consume data directly within your analytics platform or warehouse using an open sharing protocol.
Key Concepts
Share — Container your organization is granted access to; exposes one or more schemas.
Schema — Logical grouping of tables within a share.
Table — Read-only dataset you can query from supported tools.
Profile file — JSON with endpoint and credentials used by clients.
Open protocol — REST-based access to underlying Parquet/Delta data.
Access & Provisioning
Ask your Amigo representative (via Slack) to provision a Delta Share for your organization and specify which tables you need.
Beta: Delta Sharing is in active development; schemas and operational policies may evolve.
You will receive either:
A share profile file (containing the share endpoint and credentials), or
An endpoint URL plus recipient credentials, along with the list of shared schemas/tables.
How You Use It
Most platforms support Delta Sharing natively or via an open-source connector.
Import the provided share profile or configure the endpoint and credentials per your platform’s instructions.
Browse the shared schemas/tables and query them like native read-only tables in your environment.
Supported Clients
Python:
delta-sharinglibrary for pandas and PySpark.Apache Spark: Delta Sharing Spark connector (SQL, Python, Scala, Java, R).
BI/ETL: Many tools integrate via the open protocol or vendor connectors.
Quick Start
pip install delta-sharingimport delta_sharing
profile_file = "/path/to/profile.share" # e.g., ./open-datasets.share
table_url = f"{profile_file}#my_share.my_schema.my_table"
pdf = delta_sharing.load_as_pandas(table_url)
print(pdf.head())Option A — Python connector in PySpark (requires the Spark connector installed on the cluster):
import delta_sharing
profile_file = "/path/to/profile.share"
table_url = f"{profile_file}#my_share.my_schema.my_table"
df = delta_sharing.load_as_spark(table_url)
df.createOrReplaceTempView("shared_table")
spark.sql("SELECT COUNT(*) FROM shared_table").show()Option B — Spark reader directly:
pyspark --packages io.delta:delta-sharing-spark_2.12:3.1.0profile_file = "/path/to/profile.share"
table_url = f"{profile_file}#my_share.my_schema.my_table"
df = spark.read.format("deltaSharing").load(table_url)
df.show()spark-shell --packages io.delta:delta-sharing-spark_2.12:3.1.0val profileFile = "/path/to/profile.share"
val tableUrl = s"$profileFile#my_share.my_schema.my_table"
val df = spark.read.format("deltaSharing").load(tableUrl)
df.selectExpr("count(*) as rows").show()Governance & Operations
Scope: Shares are read-only and limited to the schemas/tables you request.
Security: Credentials or recipient tokens can be rotated; IP allowlisting is available upon request.
Observability: Access and query activity are logged by Amigo for security and auditing.
Last updated
Was this helpful?

