转换 RDD/DataFrame 中的列
Transforming a column in an RDD/DataFrame
我有这一行:
val decryptedDFData = sqlContext.read.json(patientTable.select("data").map(row => decrypt(row.toString())))
它只是从另一个 DataFrame "patientTable" 中选择 "data" 列并逐行应用我的解密函数并创建另一个 DataFrame。我怎样才能:将加密函数应用于原始 DataFrame 知道模式不会被修复(但 "data" 属性将始终存在)或将新 DataFrame 的每一行作为结构插入到是之前的对应行吗?
使用udf:
import org.apache.spark.sql.types._
import org.apache.spark.sql.functions._
def decrypt(s: String) = s
val decryptUDF = udf(decrypt _)
patientTable.select(col("*"), decryptUDF(col("data").cast(StringType)))
我有这一行:
val decryptedDFData = sqlContext.read.json(patientTable.select("data").map(row => decrypt(row.toString())))
它只是从另一个 DataFrame "patientTable" 中选择 "data" 列并逐行应用我的解密函数并创建另一个 DataFrame。我怎样才能:将加密函数应用于原始 DataFrame 知道模式不会被修复(但 "data" 属性将始终存在)或将新 DataFrame 的每一行作为结构插入到是之前的对应行吗?
使用udf:
import org.apache.spark.sql.types._
import org.apache.spark.sql.functions._
def decrypt(s: String) = s
val decryptUDF = udf(decrypt _)
patientTable.select(col("*"), decryptUDF(col("data").cast(StringType)))