我是Spark&Scala的新手,在调用saveAsTextFile()之后我得到了异常.希望有人能帮忙......
这是我的input.txt:
Hello World, I'm a programmer
Hello World, I'm a programmer
Run Code Online (Sandbox Code Playgroud)
这是在CMD上运行"spark-shell"后的信息:
C:\Users\Nhan Tran>spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://DLap:4040
Spark context available as 'sc' (master = local[*], app id = local-1526374303208).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.3.0
/_/
Using Scala …
Run Code Online (Sandbox Code Playgroud) 我有2个清单.一个包含搜索元素,一个包含数据.我需要为list2中的每个元素循环,其中包含list1中的任何字符串("cat"或"dog").举些例子:
List<string> list1 = new List<string>();
list1.Add("Cat");
list1.Add("Dog");
list1.Add... ~1000 items;
List<string> list2 = new List<string>();
list2.Add("Gray Cat");
list2.Add("Black Cat");
list2.Add("Green Duck");
list2.Add("White Horse");
list2.Add("Yellow Dog Tasmania");
list2.Add("White Horse");
list2.Add... ~million items;
Run Code Online (Sandbox Code Playgroud)
我的期望是listResult: {"Gray Cat", "Black Cat", "Yellow Dog Tasmania"}
(因为它在list1中包含"cat"和"dog").而不是嵌套循环,你有任何想法让序列运行得更快吗?
我目前的解决方案如下.但是......看起来太慢了:
foreach (string str1 in list1)
{
foreach (string str2 in list2)
{
if str2.Contains(str1)
{
listResult.Add(str2);
}
}
}
Run Code Online (Sandbox Code Playgroud)