2017-06-23 50 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语句,分割只是列的表,我想一个新行添加到表d,其值敬畏,ABCD,航空自卫队和XYZ。

我找的SQL不斯卡拉或其他语言

回答

0

下面是简单的例子使用SQL星火

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 

输出:

+------------+----+---+----+ 
|   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| 
+------------+----+---+----+ 

我希望这有助于!