2017-06-22 11 views
0

私はいくつかの行のファイルを持っています。例えばスパークリヤ分割文字列

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

のために私はテーブルのちょうど列Aを分割するステートメントでsparklyrライブラリを使用してRでスパークでコマンドをしたいと私は、新しい行は、値awer、ABCDと、テーブルDに追加しますasdf、およびxyz。

私は

data_2 %>% sdf_mutate(node2=ft_regex_tokenizer(data_2, input.col = "A", output.col = "D", pattern="[.]")) %>% sdf_register("mutated") 

を試してみました。そして、私はevalの中

mut_trial %>% mutate(E=D[[1]]) 

エラー(exprの、ENVIR、enclos)してみてください:オブジェクト 'D' 見つかりません。

私はこれを正しい方法で実行しているのかどうかは分かりませんが、使用する他の機能があるかどうか、または私が望むことをするためにこの機能を修正する方法があるかどうかを見たいと思っていました。

答えて

0

コードはScalaの火花であるあなたのアイデアを取得し、SparkR

にそれを変換願ってい
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.withColumn("D", split($"A", "\\.")(0)).show(false) 

出力:

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

・ホープ、この助けました!