小编maa*_*asg的帖子

如何覆盖spark中的输出目录

我有一个火花流应用程序,它可以生成每分钟的数据集.我需要保存/覆盖已处理数据的结果.

当我试图覆盖数据集org.apache.hadoop.mapred.FileAlreadyExistsException时停止执行.

我设置了Spark属性set("spark.files.overwrite","true"),但没有运气.

如何覆盖或预先删除spark中的文件?

apache-spark

91
推荐指数
5
解决办法
14万
查看次数

如何以编程方式设置JAX-WS客户端的SSLContext?

我正在一个分布式应用程序中的服务器上工作,该应用程序具有浏览器客户端,并且还参与与第三方的服务器到服务器通信.我的服务器有一个CA签名证书,让我的客户端使用HTTP/S和XMPP(安全)使用TLS(SSL)通信进行连接.这一切都很好.

现在我需要通过HTTPS/SSL使用JAX-WS安全地连接到第三方服务器.在此通信中,我的服务器在JAX-WS交互中充当客户端,并且我已经由第三方签署了客户端证书.

我尝试通过标准系统配置(-Djavax.net.ssl.keyStore=xyz)添加新的密钥库,但我的其他组件明显受此影响.虽然我的其他组件使用专用参数进行SSL配置(my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...),但似乎他们最终使用全局SSLContext.(配置命名空间my.xmpp.似乎表示分离,但事实并非如此)

我也尝试将我的客户端证书添加到我的原始密钥库中,但是 - 我的其他组件似乎也不喜欢它.

我认为我唯一的选择是以编程方式挂钩到JAX-WS HTTPS配置,以便为客户端JAX-WS交互设置密钥库和信任库.

关于如何做到这一点的任何想法/指示?我找到的所有信息要么使用该javax.net.ssl.keyStore方法,要么设置全局SSLContext- 我猜 - 将最终在同一个confilc中.我得到的最接近的东西是这个旧的错误报告请求我需要的功能:添加支持将SSLContext传递给JAX-WS客户端运行时

任何需要?

java ssl certificate jax-ws

54
推荐指数
4
解决办法
12万
查看次数

用于检查集合是否已订购的惯用法构造

为了学习和进一步解决这个问题,我一直很好奇一种算法的显式递归的惯用替代方法,该算法检查列表(或集合)是否有序.(我在这里通过使用运算符进行比较和Int作为类型来保持简单;我想在深入研究它的泛型之前先查看算法)

基本的递归版本将是(由@Luigi Plinge提供):

def isOrdered(l:List[Int]): Boolean = l match {
  case Nil => true
  case x :: Nil => true
  case x :: xs => x <= xs.head && isOrdered(xs)
}
Run Code Online (Sandbox Code Playgroud)

表现不佳的惯用方法是:

def isOrdered(l: List[Int]) = l == l.sorted
Run Code Online (Sandbox Code Playgroud)

使用fold的替代算法:

def isOrdered(l: List[Int]) =
  l.foldLeft((true, None:Option[Int]))((x,y) =>
    (x._1 && x._2.map(_ <= y).getOrElse(true), Some(y)))._1
Run Code Online (Sandbox Code Playgroud)

它的缺点是它将比较列表中的所有n个元素,即使它在找到第一个无序元素之后可以提前停止.有没有办法"停止"折叠,从而使这个更好的解决方案?

还有其他(优雅的)替代品吗?

recursion scala idiomatic fold

37
推荐指数
4
解决办法
9524
查看次数

Spark迭代HDFS目录

我在HDFS上有一个目录目录,我想迭代这些目录.使用SparkContext对象有没有简单的方法来使用Spark?

hadoop hdfs apache-spark

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

在现有键空间上使用cqlsh创建新表:列族ID不匹配

休斯顿,我们有一个问题.

尝试cqlsh在现有的Cassandra(v2.1.3)键空间上创建新表会导致:

ServerError: 
<ErrorMessage code=0000 [Server error] message="java.lang.RuntimeException:
java.util.concurrent.ExecutionException: 
    java.lang.RuntimeException:      
        org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found e8c03790-c952-11e4-a753-5981ea73cd7c; expected e8b14370-c952-11e4-a844-8f10bfb9c386)">
Run Code Online (Sandbox Code Playgroud)

在第一次创建尝试后,再次尝试将导致:

AlreadyExists:表'ks.metrics'已经存在

但是检索密钥空间的现有表列表desc tables;将不会报告新表.

这个问题似乎与Cassandra-8387有关, 只有一个客户端试图创建表:cqlsh

我们确实有一堆Spark作业会在启动时创建键空间和表,可能会并行执行此操作.这会导致密钥空间损坏吗?

创建新的键空间并向其添加表可以按预期工作.

有任何想法吗?

UPDATE

找到一个解决方法:在键空间上发出修复,表格将出现(desc tables)并且也可以正常运行.

schema cassandra cqlsh

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

Spark:将InputFormat作为singleton运行

我正在尝试将一个键值数据库集成到Spark并提出一些问题.我是Spark初学者,已经阅读了很多并运行了一些样本,但没有太复杂.

场景:

我正在使用一个小型hdfs集群将传入的消息存储在数据库中.群集有5个节点,数据分为5个分区.每个分区都存储在单独的数据库文件中.因此,每个节点都可以处理自己的数据分区.

问题:

数据库软件的接口基于JNI,数据库本身以C实现.由于技术原因,数据库软件一次只能维护一个活动连接.只能有一个JVM进程连接到数据库.

由于此限制,读取和写入数据库必须经过相同的JVM过程.

(背景信息:数据库嵌入到进程中.它是基于文件的,一次只能打开一个进程.我可以让它在一个单独的进程中运行,但由于IPC开销,这会慢一点.我的应用程序将执行许多全表扫描.其他写入将被批处理并且不是时间关键的.)

解决方案:

我在脑海中有一些想法如何解决这个问题,但我不知道它们是否适用于Spark.

  • 也许有可能神奇地将Spark配置为每个节点只有一个我专有的InputFormat实例.

  • 如果我的InputFormat第一次使用,它会启动一个单独的线程来创建数据库连接.然后,该线程将继续作为守护进程,并且只要JVM存在,它就会存在.这仅在每个节点只有一个JVM时才有效.如果Spark在同一节点上启动多个JVM,那么每个JVM都会启动自己的数据库线程,这不起作用.

  • 将我的数据库连接移动到每个节点的单独JVM进程,然后我的InputFormat使用IPC连接到此进程.正如我所说,我想避免这种情况.

  • 或者也许你有另一个更好的主意?

我最喜欢的解决方案是#1,紧接着是#2.

感谢您的任何评论和回答!

database hadoop apache-spark

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

泛型:T扩展MyClass vs. T扩展MyClass <T>

这两个声明之间是否存在语义差异,还是仅仅是语法糖?

class C<T extends C> VS class C<T extends C<T>>

背景:我最近回答了关于使用该方法的泛型的问题,C<T extends C>并且同行基于提供了类似的答案C<T extends C<T>>.最后,两种备选方案都提供了相同的结果(在提出的问题的背景下).我仍然对这两种结构之间的差异感到好奇.

是否存在语义差异?如果是这样,每种方法的含义和后果是什么?

java generics

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

如何在SparkSQL中获取星期几?

我试图通过SparkSQL选择周日记录的所有记录.我有以下尝试,但徒劳无功.

SELECT * FROM mytable WHERE DATEPART(WEEKDAY, create_time) = 0
SELECT * FROM mytable WHERE strftime("%w", create_time) = 0
Run Code Online (Sandbox Code Playgroud)

如何在SparkSQL中获取星期几?

apache-spark

15
推荐指数
3
解决办法
2万
查看次数

为pyspark设置SparkContext

我是新手sparkpyspark.如果有人解释SparkContext参数到底做了什么,我将不胜感激?我怎么能设置spark_contextpython应用程序?

python apache-spark

14
推荐指数
2
解决办法
5万
查看次数

Scala Spark中的分布式映射

Spark支持分布式Map集合类型吗?

因此,如果我有一个HashMap [String,String],它们是键值对,可以将它转换为分布式Map集合类型吗?要访问该元素,我可以使用"过滤器",但我怀疑它的表现和Map一样好吗?

scala apache-spark

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