小编SCo*_*uto的帖子

如何使用scala查找字符串变量中的位数?

我有一个像下面的字符串变量

val str="raid11112233rdfg"
Run Code Online (Sandbox Code Playgroud)

如果我想使用scala找到字符串变量中的数字位数如何解决这个问题.理想情况下,它应该将输出作为8的计数.

scala

3
推荐指数
1
解决办法
58
查看次数

Java理解

在Scala中,我可以编写一个简短的方法,如下所示:

def xy(
maybeX: Option[String],
maybeY: Option[String]): Option[String] = {

for {
  x <- maybeX
  y <- maybeY
} yield {
  s"X: $x Y: $y"
}
Run Code Online (Sandbox Code Playgroud)

}

当涉及两个或多个Optional<>变量时,Java是否有类似的东西?

java scala optional

3
推荐指数
1
解决办法
500
查看次数

在Scala中编写级联if语句的更好方法?

JavaScript我们可以重写:

if (ua.isEmpty()) {
    return false;
}
else if (ua.contains('curl')) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

进入此以获得清晰的代码:

switch(true) {
    case ua.isEmpty():
        return false;
    case ua.contains('curl'):
        return false;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议我们可以在Scala中做类似的事情吗?

scala

3
推荐指数
1
解决办法
103
查看次数

将列表转换为 Scala 中的集合

我需要按顺序将列表转换为设置。但是我得到了不合时宜的集合。

def toset(list: List[Int]): Int = {
    var newset = Set.empty[Int]
    for (i <- list){
      newset += i
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,如果我做list = List[Int] (4,6,2,1,7)and toset(list),我会得到newset = Set(1,6,2,7,4)而不是newset = Set (4,6,2,1,7)

scala

3
推荐指数
1
解决办法
233
查看次数

Spark Dataframes 中的分区和集群方式

我们是否可以在 Spark 中按列进行分区,然后按另一列进行聚类?

在我的示例中,我在具有数百万行的表中有一month列和一cust_id列。我可以说当我将 DataFrame 保存到 hive 表以根据月份和集群将表分区cust_id为 50 个文件时吗?

忽略聚类 by cust_id,这里有三个不同的选项

df.write.partitionBy("month").saveAsTable("tbl")
df.repartition(100).write.partitionBy("month").saveAsTable("tbl")
df.repartition("month").write.saveAsTable("tbl")
Run Code Online (Sandbox Code Playgroud)

第一种情况和最后一种情况与 Spark 所做的相似,但我认为它只是在 Hive 中以不同的方式写入数据(文件夹而不是每个月的文件)。

在第二个选项中,重新分区是由partitionBy不是吗?

我怎样才能至少避免这种情况?

甚至可以通过在 Spark 中指定多个存储桶来按高基数列进行重新分区吗?

apache-spark apache-spark-sql

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

使shell脚本可执行

我有两个文件用于部署,

1)deploymentpackage.zip- >它包含几个shell脚本的数据库包.

2)deployment.sh- >它是主shell脚本,首先解压缩deploymentpackage.zip,然后执行其中的shell文件列表.

它按预期工作.

但我需要的是,我需要将zip文件设置为可执行文件,以便我不想同时提供deploymentpackage.zipdeployment.sh客户端.

那么是否有可能使deploymentpackage.zip可执行文件成为可执行文件,以便我不希望有另一个脚本deployment.sh.

期望:运行它deploymentpackage.zip应该解压缩同一个文件并运行其中的脚本列表.

谢谢,
哈利

linux bash shell

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

在Scala vs Java中导入类优先级

由于导入类问题,我被卡住了。就我而言,我的类与Apache Common有依赖关系StringUtils,并且StringUtils在同一包中有一个相同的名称class()。(Main类与Apache Common的依赖StringUtils,并且与Main类在同一包中有一个StringUtils。但这是编译错误)

在此处输入图片说明

StringUtils用导入语法指定了apache common ,但是似乎被同一包的遮盖了StringUtils。是scala的语言规范吗?

在Java中,没有问题。它与Apache common的StringUtils一起使用。 在此处输入图片说明

java scala

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

找到最小的内部for-comprehention?

我有两个包含GPS坐标的列表,我想找到这两个列表中坐标之间的最短距离.现在我迭代了列表并将每个距离存储到另一个列表中,如下所示:

val distanceList = for {
        c1 <- cordinatesList1
        c2 <- cordinatesList2
        distace = calculateDistances(c1, c2)

    } yield distance
Run Code Online (Sandbox Code Playgroud)

现在我可以从中获得最小值distanceList,但是无论如何在for-comprehension没有存储所有距离的情况下找到最小值?

scala

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

如何取消旋转大型火花数据框?

unpivot当列数相当低并且列的名称可以硬编码时,我已经看到了一些火花数据框的解决方案。您是否有可扩展的解决方案来对包含多列的数据框进行逆透视?

下面是一个玩具问题。

输入:

  val df = Seq(
    (1,1,1,0),
    (2,0,0,1)    
  ).toDF("ID","A","B","C")

+---+--------+----+
| ID|  A | B | C  |
+---+--------+-----
|  1|  1 | 1 | 0  |
|  2|  0 | 0 | 1  |
+---+----------+--+
Run Code Online (Sandbox Code Playgroud)

预期结果:

+---+-----+-----+
| ID|names|count|
+---+-----------|
|  1|  A  |  1  |
|  1|  B  |  1  |
|  1|  C  |  0  |
|  2|  A  |  0  |
|  2|  B  |  0  |
|  2|  C  |  1  |
+---+-----------+ …
Run Code Online (Sandbox Code Playgroud)

scala unpivot apache-spark

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

Spark中什么是分区?

我想了解 Spark 中的分区是什么?

我的理解是,当我们从源读取数据并将其放入任何特定的位置Datatset时,该数据集可以分为多个sub-Datasets,这些sub-Datasets称为分区,它取决于 Spark 框架在集群中的位置和分布方式。这是对的吗 ?

当我看到一些网上文章时,我产生了疑问,其中说

在底层,它们RDDs or Datasets存储在不同集群节点上的分区中。分区基本上是大型分布式数据集的逻辑块

这句话打破了我的理解。根据上述陈述,RDDs or Datasets位于分区内。但我认为 RDD 本身就是一个分区(分割后)。

谁能帮我消除这个疑问?

这是我的代码片段,我正在从 JSON 中读取数据。

Dataset<Row> ds = spark.read().schema(Jsonreadystructure.SCHEMA)
                .json(JsonPath);
Run Code Online (Sandbox Code Playgroud)

那么,在阅读本身时,如何将其拆分为多个分区?或者还有其他办法吗?

java apache-spark

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

标签 统计

scala ×7

apache-spark ×3

java ×3

apache-spark-sql ×1

bash ×1

linux ×1

optional ×1

shell ×1

unpivot ×1