我正在本地机器中将spark数据集保存为拼花文件。我想知道是否有任何方法可以使用某种加密算法对数据进行加密。我用来将数据保存为拼花文件的代码如下所示。
<代码>数据集。写入()。模式(“覆盖”)。拼花地板
我看到了一个类似的问题,但我的查询不同,因为我正在写入本地磁盘。
我不认为你们可以直接在Spark上做,但在特殊的Apache Arrow中,你们可以在拼花地板上做其他项目。我想这段视频解释了如何做到这一点:
https://databricks.com/session_na21/data-security-at-scale-through-spark-and-parquet-encryption
更新:自Spark 3.2.0以来,这似乎是可能的。
从Spark 3.2开始,Parket表支持柱状加密。
例如:
hadoopConfiguration.set("parquet.encryption.kms.client.class" ,
"org.apache.parquet.crypto.keytools.mocks.InMemoryKMS");
// Explicit master keys (base64 encoded) - required only for mock InMemoryKMS
hadoopConfiguration.set("parquet.encryption.key.list" ,
"keyA:AAECAwQFBgcICQoLDA0ODw== , keyB:AAECAAECAAECAAECAAECAA==");
// Activate Parquet encryption, driven by Hadoop properties
hadoopConfiguration.set("parquet.crypto.factory.class" ,
"org.apache.parquet.crypto.keytools.PropertiesDrivenCryptoFactory");
// Write encrypted dataframe files.
// Column "square" will be protected with master key "keyA".
// Parquet file footers will be protected with master key "keyB"
squaresDF.write().
option("parquet.encryption.column.keys" , "keyA:square").
option("parquet.encryption.footer.key" , "keyB").
parquet("/path/to/table.parquet.encrypted");
// Read encrypted dataframe files
Dataset<Row> df2 = spark.read().parquet("/path/to/table.parquet.encrypted");
这是基于以下用法示例:https://spark.apache.org/docs/3.2.0/sql-data-sources-parquet.html#columnar-encryption
我正在创建一个用户表,其中我需要以加密格式存储密码。我需要知道什么数据类型可以用来创建一个接受加密密码的列。基本上,我不需要任何函数来加密密码。当我们创建表时,必须注意这一点。 根据此链接 TIA 普拉迪普
我有多个文本框,当用户在不同的文本框中键入时,我希望有一个存储所有格式化数据的数组。 格式化的数据以 m:ss 为单位(m - 分钟,s - 秒) 现在,所有不同的文本框都显示相同的值,因为只有一个this.formatTime. 我们如何改变这一点,以便v-model遍历数组,并将其添加到格式化值数组中? 文本框应显示格式化的值,并将其存储在所有格式值[]中。 我真的被困在这个,谢谢你的时间!
问题内容: 我正在使用Plotly offline在python中生成图形。 根据以下文档, https://plot.ly/python/offline/ 这是我的代码,可以完美地生成C:/tmp/test_plot.html文件。 如何将此图另存为png而不是html? 问题答案: 方法具有和 属性,可将文件另存为。 在上或在线查看更多详细信息。 但是,有一点需要注意的是,由于输出图像是与HT
尝试将数据集吐槽到和,然后需要将其保存为格式。 这是到目前为止的代码,
问题内容: 假设我正在制作健身应用程序,您可以在其中进行锻炼。配置锻炼后,您需要保存它。如何添加此功能,以便当他退出应用程序并再次打开它时,他可以查看他的锻炼? 我专门在Android上工作。 这可用于保存本地游戏保存和数据。 问题答案: 我相信Kivy具有处理此问题的模块。尽管它仍(在撰写本文时)仍处于实验阶段。在这里查看:http : //kivy.org/docs/api- kivy.sto
我尝试从Socket TCP获取数据以附加到数据帧我收到数据并将它们执行到Seq(),但当我使用foreach将它们附加到数据帧时出现问题这是我的代码: 这是我跑步时的问题 Java语言组织中的lang.NullPointerException。阿帕奇。火花sql。SQLImplicits。localSeqToDatasetHolder(SQLImplicits.scala:231),位于Cl.C