You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+39-3Lines changed: 39 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,12 @@ Opaque is a package for Apache Spark SQL that enables encryption for DataFrames
8
8
9
9
This project is based on the following NSDI 2017 paper [1]. The oblivious execution mode is not included in this release.
10
10
11
-
This is an alpha preview of Opaque, which means the software is still in development (not production-ready!). It currently has the following limitations:
11
+
This is an alpha preview of Opaque, but the software is still in active development. It currently has the following limitations:
12
12
13
13
- Unlike the Spark cluster, the master must be run within a trusted environment (e.g., on the client).
14
14
15
-
- Not all Spark SQL operations are supported. UDFs must be [implemented in C++](#user-defined-functions-udfs).
15
+
- Not all Spark SQL operations are supported (see the [list of supported operations](#supported-functionalities)).
16
+
UDFs must be [implemented in C++](#user-defined-functions-udfs).
16
17
17
18
- Computation integrity verification (section 4.2 of the NSDI paper) is currently work in progress.
18
19
@@ -136,6 +137,41 @@ Next, run Apache Spark SQL queries with Opaque as follows, assuming [Spark 3.0](
136
137
// | baz| 5|
137
138
// +----+-----+
138
139
```
140
+
141
+
## Supported functionalities
142
+
143
+
This section lists Opaque's supported functionalities, which is a subset of that of Spark SQL. Note that the syntax for these functionalities is the same as Spark SQL -- Opaque simply replaces the execution to work with encrypted data.
144
+
145
+
### Data types
146
+
Out of the existing [Spark SQL types](https://spark.apache.org/docs/latest/sql-ref-datatypes.html), Opaque supports
147
+
148
+
- All numeric types except `DecimalType`, which is currently converted into `FloatType`
149
+
- `StringType`
150
+
- `BinaryType`
151
+
- `BooleanType`
152
+
- `TimestampTime`, `DateType`
153
+
- `ArrayType`, `MapType`
154
+
155
+
### Functions
156
+
We currently support a subset of the Spark SQL functions, including both scalar and aggregate-like functions.
0 commit comments