Spark SQL DataFrame - 如何转换和创建新的?

时间:2016-06-26 18:00:54

标签: java apache-spark apache-spark-sql spark-dataframe

我有一个通过阅读镶木地板文件创建的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(仅接受数字)。

1 个答案:

答案 0 :(得分:2)

这应该有效:

import static org.apache.spark.sql.functions.*;

df.select(
  upper(col("Name")).alias("Name"),
  regexp_replace(col("PhoneNumber"), "[^0-9]", "").alias("PhoneNumber"));