小编Ram*_*ram的帖子

如何查找Scala字符串是否可解析为Double?

假设我在scala中有一个字符串,我想尝试解析它的双重.

我知道,toDouble如果失败,我可以调用然后捕获java num格式异常,但是有更简洁的方法吗?例如,如果有一个parseDouble返回的函数Option[Double]将符合条件.

我不想把它放在我自己的代码中,如果它已经存在于标准库中,我只是在错误的地方寻找它.

感谢您的任何帮助,您可以提供.

scala

48
推荐指数
7
解决办法
5万
查看次数

如何在终端中终止这个tomcat进程?

使用ps -ef | grep tomcat我发现了一个正在运行的tomcat服务器.我尝试了,kill -9 {id}但它返回"没有这样的过程." 我究竟做错了什么?

这是一个例子:

Admins-MacBook-Pro:test-parent tom.maxwell$ ps -ef | grep tomcat
2043706342 39707 39695   0  3:40PM ttys000    0:00.00 grep tomcat
Admins-MacBook-Pro:test-parent tom.maxwell$ kill -9 39707
-bash: kill: (39707) - No such process
Run Code Online (Sandbox Code Playgroud)

java unix linux terminal tomcat

48
推荐指数
6
解决办法
15万
查看次数

setMaster`local [*]`在spark中意味着什么?

我发现一些代码在本地启动spark:

val conf = new SparkConf().setAppName("test").setMaster("local[*]")
val ctx = new SparkContext(conf)
Run Code Online (Sandbox Code Playgroud)

什么[*]意思?

scala apache-spark

39
推荐指数
4
解决办法
3万
查看次数

使用scala连接Apache spark中不同RDD的数据集

有没有办法RDD在spark中连接两个不同s的数据集?

要求是 - 我使用具有相同列名的scala创建两个中间RDD,需要组合这两个RDD的结果并缓存访问UI的结果.如何在此处组合数据集?

RDD属于类型 spark.sql.SchemaRDD

scala distributed-computing apache-spark rdd apache-spark-sql

35
推荐指数
1
解决办法
4万
查看次数

Apache Spark - foreach与foreachPartitions何时使用什么?

我想知道foreachPartitions,与foreach考虑我RDD为了对累加器变量执行一些求和的情况下的方法相比,由于更高的并行度,意志是否会产生更好的性能.

java foreach scala apache-spark

35
推荐指数
3
解决办法
4万
查看次数

如何在Spark中写入CSV

我正在尝试找到一种将我的Spark Job的结果保存为csv文件的有效方法.我正在使用Spark和Hadoop,到目前为止我的所有文件都保存为part-00000.

任何想法如何使我的火花保存到具有指定文件名的文件?

csv hadoop file distributed-computing apache-spark

33
推荐指数
2
解决办法
4万
查看次数

如何让maven构建得更快?

我有一个多模块java项目.Maven需要大约40秒来构建它.我通过指定-T和-Cargs来尝试使用多线程构建的maven,因为没有使用线程和内核.但我没有看到我的构建的时间有任何显着改善.
我正在使用maven 3.2.3,有时我需要经常构建我的项目.
我知道干净的目标需要花费很多时间,但我不能忽略它.
建议请....

编辑:
注意:在我的情况下,清洁不会花费太多时间.它在1秒内完成.安装正在休息.

java multithreading scala build maven

33
推荐指数
7
解决办法
2万
查看次数

如何更新火花流中的广播变量?

我相信,我有一个相对常见的火花流用例:

我有一个对象流,我想根据一些参考数据进行过滤

最初,我认为使用广播变量实现这是一件非常简单的事情:

public void startSparkEngine {
    Broadcast<ReferenceData> refdataBroadcast
      = sparkContext.broadcast(getRefData());

    final JavaDStream<MyObject> filteredStream = objectStream.filter(obj -> {
        final ReferenceData refData = refdataBroadcast.getValue();
        return obj.getField().equals(refData.getField());
    }

    filteredStream.foreachRDD(rdd -> {
        rdd.foreach(obj -> {
            // Final processing of filtered objects
        });
        return null;
    });
}
Run Code Online (Sandbox Code Playgroud)

但是,尽管很少,我的参考数据会定期更改

我的印象是我可以在驱动程序上修改和重新广播我的变量,它会传播给每个工作者,但是Broadcast对象不是也不Serializable需要final.

我有什么替代品?我能想到的三个解决方案是:

  1. 将参考数据查找移动到一个forEachPartitionforEachRdd左右,使其完全驻留在工作者上.但是,参考数据存在于REST API中,因此我还需要以某种方式存储计时器/计数器以停止对流中的每个元素访问远程数据库.

  2. 每次refdata更改时,使用新的广播变量重新启动Spark上下文.

  3. 将参考数据转换为RDD,然后join以我现在流式传输的方式将流转换为流Pair<MyObject, RefData>,尽管这会将参考数据与每个对象一起发送.

java scala broadcast apache-spark spark-streaming

29
推荐指数
4
解决办法
2万
查看次数

Java.在ResultSet中打印数据

我正在通过Java从SQL数据库中检索列名.我知道我也可以检索列名ResultSet.所以我有这个SQL查询

 select column_name from information_schema.columns where table_name='suppliers'
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何获取列名ResultSet和我的代码

public void getAllColumnNames() throws Exception{

String sql = "SELECT column_name from information_schema.columns where table_name='suppliers'";

PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery(sql);
 // extract values from rs


}
Run Code Online (Sandbox Code Playgroud)

java mysql scala jdbc

28
推荐指数
4
解决办法
9万
查看次数

SparkSQL:如何处理用户定义函数中的空值?

给定表1,其中一列为"x",类型为String.我想创建表2,其中列为"y",它是"x"中给出的日期字符串的整数表示形式.

必不可少的是将null值保留在"y"列中.

表1(数据帧df1):

+----------+
|         x|
+----------+
|2015-09-12|
|2015-09-13|
|      null|
|      null|
+----------+
root
 |-- x: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)

表2(数据帧df2):

+----------+--------+                                                                  
|         x|       y|
+----------+--------+
|      null|    null|
|      null|    null|
|2015-09-12|20150912|
|2015-09-13|20150913|
+----------+--------+
root
 |-- x: string (nullable = true)
 |-- y: integer (nullable = true)
Run Code Online (Sandbox Code Playgroud)

用于将列"x"中的值转换为列"y"的用户定义函数(udf)为:

val extractDateAsInt = udf[Int, String] (
  (d:String) => d.substring(0, 10)
      .filterNot( "-".toSet)
      .toInt )
Run Code Online (Sandbox Code Playgroud)

并且工作,处理空值是不可能的.

尽管如此,我可以做类似的事情

val extractDateAsIntWithNull = udf[Int, String] (
  (d:String) => 
    if (d != …
Run Code Online (Sandbox Code Playgroud)

scala nullable user-defined-functions apache-spark apache-spark-sql

27
推荐指数
3
解决办法
4万
查看次数