我在Spark中有以下代码:
myData.filter(t => t.getMyEnum() == null)
.map(t => t.toString)
.saveAsTextFile("myOutput")
Run Code Online (Sandbox Code Playgroud)
myOutput文件夹中有2000多个文件,但只有少数t.getMyEnum()== null,因此输出记录非常少.由于我不想只搜索2000+输出文件中的几个输出,我尝试使用coalesce组合输出,如下所示:
myData.filter(t => t.getMyEnum() == null)
.map(t => t.toString)
.coalesce(1, false)
.saveAsTextFile("myOutput")
Run Code Online (Sandbox Code Playgroud)
然后工作变得极其缓慢!我想知道为什么这么慢?在2000多个分区中只有几个输出记录散布?有没有更好的方法来解决这个问题?
我有一个3D节点阵列,我想从数组的中间节点开始遍历它,然后向角落移动......就像这样

等等...但是出于可视化目的,我已经在2D中显示但实际上它是3D,所以当我们离开时,我们将在每个偶数迭代创建一个立方体并在每个奇数迭代上创建一个球体.但
它看起来像3D一样

希望我已经以最好的方式陈述了我的问题...请帮我构建一个算法,我已经尝试了很多但没有找到正确的路径......我熟悉C,C++,C# ,JAVA所以如果我能用这些语言得到答案,我将不胜感激,否则只需分享我将实现它的算法......
编辑:
下一次迭代

我有一个三维结构......实际上是一个双向链表,有六个节点,即左、右、上、下、进、出。如果一个节点在另一个节点的右侧,那么该节点将明显位于第一个节点的左侧。喜欢

实际上这是一个 3D 结构,但为了便于理解,我给出了一个 2D 示例。现在我必须将其转换为 JSON 格式,以便通过 WCF 将此数据发送到客户端,但由于它包含循环,因此无法将其转换为 JSON。我有这些问题
我正在使用Json.Net来处理 JSON。
我的班级是
public class Node
{
public Document document = null;
public Node left = null;
public Node right = null;
public Node up = null;
public Node down = null;
public Node inside = null;
public Node outside = null;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用一个Product类似于类的库
class Product {
def toString() = "Whatever"
}
Run Code Online (Sandbox Code Playgroud)
我想覆盖这个toString方法.所以有两种解决方案.
1 - 复制该类的内容并在您自己的项目中创建相同的新类,并立即使用该方法执行任何操作.
2 - 使用Scala Impilicit
第一种方法非常可悲.所以我尝试了第二个,但面对这个问题.我成功地在该类中添加了新方法但无法覆盖现有方法.让我用例子解释一下:
class NewProduct(val p: Product) {
override def toString() = "an-other whatever"
}
implicit def customToString(p: Product) = new NewProduct(p)
Run Code Online (Sandbox Code Playgroud)
现在,如果我以这种方式println((new Product()).toString)打印它打印 whatever但我期待an-other whatever
它似乎没有覆盖该方法,因为如果我添加新方法然后它按预期工作
class NewProduct(val p: Product) {
def NewtoString() = "an-other whatever"
}
implicit def customToString(p: Product) = new NewProduct(p)
Run Code Online (Sandbox Code Playgroud)
现在如果我以这种方式println((new Product()).NewtoString)打印它打印an-other whatever它的平均新方法NewtoString被添加到该类.
我错过了什么?是否有可能在Scala中使用impicit覆盖方法?
我在我的C#应用程序中遇到了问题...我在数据库中有一些学校课程,例如8-B,9-A,10-C,11-C等......当我使用order by子句时为了对它们进行排序,字符串比较将结果表示为
10-C
11-C
8-B
9-A
Run Code Online (Sandbox Code Playgroud)
但我希望在字符串中存在的第一个整数的基础上进行整数排序...即
8-B
9-A
10-C
11-C
Run Code Online (Sandbox Code Playgroud)
希望你能理解......我已经尝试过了,但它会抛出异常
var query = cx.Classes.Select(x=>x.Name)
.OrderBy( x=> new string(x.TakeWhile(char.IsDigit).ToArray()));
Run Code Online (Sandbox Code Playgroud)
请帮帮我...想要在课程的基础上订购....