KO
|
EN
gitlite โ search
Search
#python
#typescript
#nodejs
#java
#golang
#php
#javascript
#discord
#swift
#linux
#html
#deep-learning
opaque-sql
โ 191
Open GitHub โ
An encrypted data analytics platform
Download README (.md)
Explore Similar Repositories
webpack-require-from
:
Webpack plugin that allows to configure path or URL for fetching dynamic imports
circuit_breaker
:
:boom: An Erlang library for breaking out of faulty services
Apache-Directory-Listing
:
A directory listing theme for Apache
event-sourcing-jambo
:
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
FontAwesomeKit.Swift
:
A better choice for iOS Developer to use FontAwesome Icon with UI.๐
// repository documentation
Was this content helpful?
โ 0
(0 ratings)
Select Rating:
โ
โ
โ
โ
โ
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
opaque-sql
?
Download (.md)
<img src="https://mc2-project.github.io/opaque-sql/opaque.svg" width="315" alt="Opaque"> ## Secure Apache Spark SQL  [](https://opensource.org/licenses/Apache-2.0) [<img src="https://img.shields.io/badge/slack-contact%20us-blueviolet?logo=slack">](https://join.slack.com/t/mc2-project/shared_invite/zt-rt3kxyy8-GS4KA0A351Ysv~GKwy8NEQ) [](https://raw.githubusercontent.com/mc2-project/opaque-sql/master/CODE_OF_CONDUCT.md) Welcome to the landing page of Opaque SQL! Opaque SQL is a package for Apache Spark SQL that enables processing over encrypted DataFrames using the OpenEnclave framework. ### Quick start Note that Opaque SQL requires the [MC<sup>2</sup> Client](https://github.com/mc2-project/mc2) in order to securely run an encrypted query. For a quickstart on that end-to-end workflow, please see [the README](https://github.com/mc2-project/mc2#quickstart) in the MC<sup>2</sup> Client repo. ### Usage Similar to Apache Spark SQL, Opaque SQL offer an *encrypted DataFrame abstraction*. Users familiar with the Spark API can easily run queries on encrypted DataFrames using the same API. The main difference is that we support saving and loading of DataFrames, but not actions like `.collect` or `.show`. An example script is the following: ```scala // Import hooks to Opaque SQL import edu.berkeley.cs.rise.opaque.implicits._ import org.apache.spark.sql.types._ // Load an encrypted DataFrame (saved using the MC2 client) val df_enc = spark.read.format("edu.berkeley.cs.rise.opaque.EncryptedSource").load("/tmp/opaquesql.csv.enc") // Run a filter query on the encrypted DataFrame val result = df_enc.filter($"Age" < lit(30)) // This will save the encrypted result to the result directory on the cloud result.write.format("edu.berkeley.cs.rise.opaque.EncryptedSource").save("/tmp/opaque_sql_result") ``` For more details on how to use Opaque SQL, please refer to [this section](https://mc2-project.github.io/opaque-sql-docs/src/usage/usage.html). ### Documentation For more details on building, using, and contributing, please see our [documentation](https://mc2-project.github.io/opaque-sql-docs/src/index.html). ### Paper The open source is based on our NSDI 2017 [paper](https://www.usenix.org/system/files/conference/nsdi17/nsdi17-zheng.pdf). ### Contact Join the discussion on [Slack](https://join.slack.com/t/mc2-project/shared_invite/zt-rt3kxyy8-GS4KA0A351Ysv~GKwy8NEQ) or email us at mc2-dev@googlegroups.com.