Spark SQL DataFrame - 如何改造和创建新的?
Spark SQL DataFrame - How to transform and create new one?
我有一个通过读取镶木地板文件创建的 DataFrame。我想转换那个 DataFrame 并创建一个新的 DataFrame。
我的输入文件:
Name PhoneNumber
Shankar 2323232232
Ramesh 232j23j232
预期输出文件:
SHANKAR 2323232232
RAMESH 23223232
读取输入文件的示例代码:
JavaSparkContext sc // An existing SparkContext.
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc)
// Create the DataFrame
DataFrame df = sqlContext.read().parquet("parquet file");
我想在名称列上应用 upperCase
并在电话号码列上应用 filter any String or special characters
(应该只接受数字)。
这应该有效:
import static org.apache.spark.sql.functions.*;
df.select(
upper(col("Name")).alias("Name"),
regexp_replace(col("PhoneNumber"), "[^0-9]", "").alias("PhoneNumber"));
我有一个通过读取镶木地板文件创建的 DataFrame。我想转换那个 DataFrame 并创建一个新的 DataFrame。
我的输入文件:
Name PhoneNumber
Shankar 2323232232
Ramesh 232j23j232
预期输出文件:
SHANKAR 2323232232
RAMESH 23223232
读取输入文件的示例代码:
JavaSparkContext sc // An existing SparkContext.
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc)
// Create the DataFrame
DataFrame df = sqlContext.read().parquet("parquet file");
我想在名称列上应用 upperCase
并在电话号码列上应用 filter any String or special characters
(应该只接受数字)。
这应该有效:
import static org.apache.spark.sql.functions.*;
df.select(
upper(col("Name")).alias("Name"),
regexp_replace(col("PhoneNumber"), "[^0-9]", "").alias("PhoneNumber"));