2017-06-23 10 views
0

私はいくつかの行のファイルを持っています。例SparkSQL分割文字列

A    B  C  
awer.ttp.net Code 554 
abcd.ttp.net Code 747 
asdf.ttp.net Part 554 
xyz.ttp.net  Part 747 

のために私はテーブルのちょうど列を分割するSparkSQL文を作りたいと私は値の畏敬の念、ABCD、空自、およびXYZとテーブルDに追加された新しい行を、したいです。

私はSQLを探していませんここでScalaのか、他のいくつかの言語

答えて

0

は、Spark

import spark.implicits._ 
val data = spark.sparkContext.parallelize(Seq(
    ("awer.ttp.net","Code", 554), 
    ("abcd.ttp.net","Code", 747), 
    ("asdf.ttp.net","Part", 554), 
    ("xyz.ttp.net","Part", 747) 
)).toDF("A","B","C") 

data.createOrReplaceTempView("tempTable") 
data.sqlContext.sql("SELECT A, B, C, SUBSTRING_INDEX(A, '.', 1) as D from tempTable").show 

出力でSQLを使用した簡単な例です:私はこのことができます願ってい

+------------+----+---+----+ 
|   A| B| C| D| 
+------------+----+---+----+ 
|awer.ttp.net|Code|554|awer| 
|abcd.ttp.net|Code|747|abcd| 
|asdf.ttp.net|Part|554|asdf| 
| xyz.ttp.net|Part|747| xyz| 
+------------+----+---+----+