All Projects → mc2-project → opaque-sql

mc2-project / opaque-sql

Licence: Apache-2.0 license
An encrypted data analytics platform

Programming Languages

scala
5932 projects
C++
36643 projects - #6 most used programming language
assembly
5116 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to opaque-sql

spark learning
尚硅谷大数据Spark-2019版最新 Spark 学习
Stars: ✭ 42 (-75.15%)
Mutual labels:  spark-sql
secure-xgboost
Secure collaborative training and inference for XGBoost.
Stars: ✭ 80 (-52.66%)
Mutual labels:  enclave
Tweet-Analysis-With-Kafka-and-Spark
A real time analytics dashboard to analyze the trending hashtags and @ mentions at any location using kafka and spark streaming.
Stars: ✭ 18 (-89.35%)
Mutual labels:  spark-sql
spark-structured-streaming-examples
Spark structured streaming examples with using of version 3.0.0
Stars: ✭ 23 (-86.39%)
Mutual labels:  spark-sql
sgx-tutorial-space18
Tutorial: Uncovering and mitigating side-channel leakage in Intel SGX enclaves
Stars: ✭ 44 (-73.96%)
Mutual labels:  enclave
aws-nitro-enclaves-sdk-c
This repo provides a C API for AWS Nitro Enclaves, including a KMS SDK that integrates it with attestation.
Stars: ✭ 73 (-56.8%)
Mutual labels:  enclave
recsys spark
Spark SQL 实现 ItemCF,UserCF,Swing,推荐系统,推荐算法,协同过滤
Stars: ✭ 76 (-55.03%)
Mutual labels:  spark-sql
dt-sql-parser
SQL Parsers for BigData, built with antlr4.
Stars: ✭ 135 (-20.12%)
Mutual labels:  spark-sql
Awesome-SGX-Open-Source
A curated list of open-source projects that help exploit Intel SGX technology
Stars: ✭ 169 (+0%)
Mutual labels:  enclave
geospark
bring sf to spark in production
Stars: ✭ 53 (-68.64%)
Mutual labels:  spark-sql
Redash
Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data.
Stars: ✭ 20,147 (+11821.3%)
Mutual labels:  spark-sql
inclavare-containers
A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.
Stars: ✭ 510 (+201.78%)
Mutual labels:  enclave
bigdatatutorial
bigdatatutorial
Stars: ✭ 34 (-79.88%)
Mutual labels:  spark-sql
MCW-Big-data-analytics-and-visualization
MCW Big data analytics and visualization
Stars: ✭ 172 (+1.78%)
Mutual labels:  spark-sql
confidential-computing-zoo
Confidential Computing Zoo provides confidential computing solutions based on Intel SGX, TDX, HEXL, etc. technologies.
Stars: ✭ 177 (+4.73%)
Mutual labels:  enclave
spark-data-sources
Developing Spark External Data Sources using the V2 API
Stars: ✭ 36 (-78.7%)
Mutual labels:  spark-sql
aws-nitro-enclaves-cli
Tooling for Nitro Enclave Management
Stars: ✭ 64 (-62.13%)
Mutual labels:  enclave
albis
Albis: High-Performance File Format for Big Data Systems
Stars: ✭ 20 (-88.17%)
Mutual labels:  spark-sql
Penglai-Enclave
This is the main repo for Penglai.
Stars: ✭ 47 (-72.19%)
Mutual labels:  enclave
spark-twitter-sentiment-analysis
Sentiment Analysis of a Twitter Topic with Spark Structured Streaming
Stars: ✭ 55 (-67.46%)
Mutual labels:  spark-sql

Opaque

Secure Apache Spark SQL

Tests Status License Contributor Covenant

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 MC2 Client in order to securely run an encrypted query. For a quickstart on that end-to-end workflow, please see the README in the MC2 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:

// 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_en = 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.

Documentation

For more details on building, using, and contributing, please see our documentation.

Paper

The open source is based on our NSDI 2017 paper.

Contact

Join the discussion on Slack or email us at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].