我有一个通过阅读镶木地板文件创建的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
,在PhoneNumber列上应用filter any String or special characters
(仅接受数字)。
答案 0 :(得分:2)
这应该有效:
import static org.apache.spark.sql.functions.*;
df.select(
upper(col("Name")).alias("Name"),
regexp_replace(col("PhoneNumber"), "[^0-9]", "").alias("PhoneNumber"));