我有一个包含示例数据的数据文件
Pune|020|WA
以此类推。
我正在将数据加载到RDD中,然后运行一个map函数,在其中发送一个split函数。我期望行被单词分割。 例如。
val testRDD = sc.textFile("file.txt");
val splitRDD = testRDD.map(x => x.split("|"))
我在newRDD中期望的值是:
Pune
020
WA
我获得的价值是-P,u,n,e,0,2,0,W,A
请帮助解释
另外,当我尝试使用splitRDD.foreach(println)
打印RDD时
我得到的值是
[Ljava.lang.String;@19e7bf4a
[Ljava.lang.String;@3dbfa08f
[Ljava.lang.String;@6fc62bf4
[Ljava.lang.String;@3b6fd980
[Ljava.lang.String;@2c3080fc
val testRDD = sc.textFile("file.txt");
val newRDD = testRDD.map(x => x.split("|"))
答案 0 :(得分:1)
Java中的方法//Take calendar object which represents now(this moment)
Calendar nowCal = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeInMillis());
//Take calendar object which represents last log in
SharedPreferences shared = getSharedPreferences("file_pref", MODE_PRIVATE);
Long value_long = shared.getLong("last_log_in",0);
Calendar lastLogInCal = Calendar.getInstance();
calendar.setTimeInMillis(value_long);
//Then write some code with if statements and make sure the conditions you want are met!
//If conditions are met, don't forget to update the long value in SharedPreferences.
接受正则表达式。 Pipe character split
在正则表达式中具有特殊含义,因此,为了使拆分工作正常进行,您必须对管道进行转义:
|
第二个问题与Java对数组的testRDD.map(x => x.split("\\|")) // Pune, 020, WA
的实现有关,这不是很有帮助。
显示数组内容的最简单方法是仅使用toString
来制作字符串:
mkString