2016-06-26 10 views
-2

Ich habe einen DataFrame erstellt aus dem Lesen einer Parkettdatei. Ich wollte diesen DataFrame transformieren und einen neuen DataFrame erstellen.Spark SQL DataFrame - Wie transformiert man und erstellt einen neuen?

Mein Input File:

Name  PhoneNumber 
Shankar 2323232232 
Ramesh 232j23j232 

Erwartete Ausgabedatei:

SHANKAR 2323232232 
RAMESH 23223232 

Code Beispieleingabedatei zu lesen:

JavaSparkContext sc // An existing SparkContext. 
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc) 
// Create the DataFrame 
DataFrame df = sqlContext.read().parquet("parquet file"); 

Ich möchte upperCase auf Name Spalte und filter any String or special characters auf PhoneNumber Spalte anwenden (sollte nur Zahlen akzeptieren).

Antwort

2

Dies sollte funktionieren:

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

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