小编Zia*_*ani的帖子

Spark:即使输出数据非常小,合并也很慢

我在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多个分区中只有几个输出记录散布?有没有更好的方法来解决这个问题?

scala coalesce apache-spark

11
推荐指数
1
解决办法
6934
查看次数

不同顺序的3D数组遍历

我有一个3D节点阵列,我想从数组的中间节点开始遍历它,然后向角落移动......就像这样

在此输入图像描述

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

它看起来像3D一样 在此输入图像描述

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

编辑:

下一次迭代

在此输入图像描述

arrays algorithm 3d multidimensional-array

8
推荐指数
1
解决办法
931
查看次数

双向链表到 JSON

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

3D 实际数据结构的 2D 样本

实际上这是一个 3D 结构,但为了便于理解,我给出了一个 2D 示例。现在我必须将其转换为 JSON 格式,以便通过 WCF 将此数据发送到客户端,但由于它包含循环,因此无法将其转换为 JSON。我有这些问题

  1. 这种双向链表可以转成JSON吗?
  2. 有没有另一种方法可以做到这一点?
  3. 任何其他推荐的数据结构?如果使用双向链表这是不可能的。

我正在使用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)

c# json json.net data-structures doubly-linked-list

6
推荐指数
1
解决办法
3097
查看次数

使用Scala Implicit重写库方法

我正在使用一个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覆盖方法?

scala implicit

5
推荐指数
1
解决办法
1041
查看次数

按字符串中的整数排序依据

我在我的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)

请帮帮我...想要在课程的基础上订购....

c#

2
推荐指数
1
解决办法
116
查看次数