小编SRo*_*mes的帖子

log4j2:包含PID

我正在使用log4j2,同时在不同的进程(即不同的JVM)中运行相同代码的多个实例.我希望所有进程都能记录到同一个文件,interleaved如何配置(通过log4j2.xml)输出PID,以便在日志中区分不同的进程?

java logging log4j log4j2

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

Python - 按 tottime 对个人资料报告进行排序

Python 包含一个简单易用的分析器

>> import cProfile
>> import re
>> cProfile.run('re.compile("foo|bar")')

      197 function calls (192 primitive calls) in 0.002 seconds

Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    0.000    0.000    0.001    0.001 <string>:1(<module>)
     1    0.000    0.000    0.001    0.001 re.py:212(compile)
    ...
Run Code Online (Sandbox Code Playgroud)

如何做完全相同的事情,但是按而tottime不是排序standardname

python profiler profiling

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

Spark工作人员无法在EC2群集上找到JAR

我正在使用spark-ec2运行一些Spark代码.当我将master设置为"local"时,它运行正常.但是,当我将master设置为$ MASTER时,工作程序会立即失败,并为类提供java.lang.NoClassDefFoundError.工作人员连接到主人,并显示在UI中,并尝试运行任务; 但是一加载第一个依赖类(在程序集jar中)就立即引发异常.

我已经使用sbt-assembly来创建一个带有类的jar,使用jar tvf确认类是否存在,并设置SparkConf来分发类.Spark Web UI确实显示了要添加到类路径的程序集jar: http://172.xxx47441/jars/myjar-assembly-1.0.jar

看来,尽管myjar-assembly包含了类,并且正在被添加到集群中,但它并没有到达工作者.我该如何解决?(我是否需要手动复制jar文件?如果是这样,哪个dir?我认为SparkConf添加jar的意思是自动执行此操作)

我的调试尝试表明:

  1. 程序集jar被复制到/ root/spark/work/app-xxxxxx/1 / (由ssh确定为worker并搜索jar)
  2. 但是,该路径不会出现在worker的类路径中 (由日志显示,显示java -cp但缺少该文件)

所以,似乎我需要告诉Spark将程序集jar的路径添加到worker的类路径中.我怎么做?或者还有另一个罪魁祸首?(我花了几个小时试图调试这个,但无济于事!)

amazon-ec2 apache-spark

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

Hadoop依赖于两个不同版本的beanutils

Hadoop 2.4.0依赖于两个不同版本的beanutils,导致以下错误sbt-assembly:

[error] (*:assembly) deduplicate: different file contents found in the following:
[error] .ivy2/cache/commons-beanutils/commons-beanutils/jars/commons-beanutils-1.7.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
[error] .ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
Run Code Online (Sandbox Code Playgroud)

这两个依赖项都可以从Hadoop 2.4.0传递,正如使用如何直接访问Ivy,即访问依赖性报告或执行Ivy命令所证实的那样

如何制作包含Hadoop 2.4.0的sbt-assembly?

更新:根据要求,这是build.sbt依赖项:

libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.4.0"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"  % "provided" exclude("org.apache.hadoop", "hadoop-client")

resolvers += "Akka Repository" at "http://repo.akka.io/releases/"

libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.7.8"

libraryDependencies += "commons-io" % "commons-io" % "2.4"

libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided"

libraryDependencies += "com.sksamuel.elastic4s" %% "elastic4s" % …
Run Code Online (Sandbox Code Playgroud)

hadoop sbt sbt-assembly

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

使用来自Scala和sbt的Maven的阴影插件

由于某些依赖项中的一些怪癖,我遇到了麻烦sbt-assembly,并且被告知使用Java的人并且使用Maven的shade插件获得了良好的结果.

如何为Scala/sbt使用Maven的阴影插件?

scala maven sbt maven-shade-plugin sbt-assembly

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

MAPI - 查找包含MAPI URL(或打开消息)的文件

我正在使用Windows Search API,它返回mapi URL.

  1. 如何找到包含URL数据的文件?例如,该消息来自PST文件的路径?

  2. 我如何以编程方式获取MAPI消息的内容或数据(即,而不是仅使用shell打开它).

mapi winapi

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

java 将输入流呈现为字节缓冲区,而不将整个内容加载到数组中

我的应用程序获取大量大型输入流,并且需要将它们交给需要字节缓冲区的驱动程序。 Java InputStream to ByteBuffer建议先将它们转换为字节数组;然而,这很昂贵,而且确实破坏了使用 NIO 的全部意义。我正在寻找一种方法,让需要 ByteBuffer 的驱动程序可以根据需要从 InputStream 中读取数据。

在我正在处理的情况下,一次消耗整个 InputStream 并将其转换为数组过于昂贵且浪费。

java io performance

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

Javascript:检测何时无法通过src添加iframe

给定的第三方脚本在一定条件下会向DOM添加一个iframe。如果iframe正确加载,则说明一切完成。但是,有时,该iframe的src会导致404,网络超时或其他错误。第三方脚本无法正常处理。

我想在我的脚本中对此进行监视,并且每当iframe加载失败时,都会触发我的脚本。有什么办法吗?它看起来像这样:

function callWhenElementFails(element) {
   if (element is_a iframe)
        invoke_my_handler;
   else
        do nothing
}
Run Code Online (Sandbox Code Playgroud)

一个简单的问题:给定一个iframe元素,我如何检查它是否已加载或失败?我可以在开发人员工具的“网络”标签下看到src失败;如何以编程方式查询此内容。

请注意,我的代码不是加载iframe的代码,并且很难修改第三方代码并向其中添加一些内容。

检测iframe src是否是可显示的抓斗,并且存在类似的问题,但不能成功。

突变观察者可能是一种方法,尽管我希望更简单的方法会更好。

javascript error-handling iframe

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

使用 Z3 SMT 解决谓词演算问题

我想使用 Z3 来解决最自然地用原子(符号)、集合、谓词和一阶逻辑表达的问题。例如(伪代码):

A = {a1, a2, a3, ...} # A is a set
B = {b1, b2, b3...}
C  = {c1, c2, c3...}

def p = (a:A, b:B, c:C) -> Bool # p is unspecified predicate
def q = (a:A, b:B, c:C) -> Bool

# Predicates can be defined in terms of other predicates:
def teaches = (a:A, b:B) -> there_exists c:C 
                            such_that [ p(a, b, c) OR q(a, b, c)  ]

constraint1 = forall b:B there_exists a:A
                         such_that …
Run Code Online (Sandbox Code Playgroud)

predicate first-order-logic alloy smt z3

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

在同一个 VS Code Notebook 中使用多种语言(或内核)

Jupyter 笔记本默认不支持同一笔记本中的多个并发内核,但有扩展可以这样做(请参阅在同一 Jupyter 笔记本中使用多个内核https://github.com/vatlab/jupyterlab-sos)。

有没有办法在 VS Code 中做到这一点?也就是说,运行一台具有多个内核的笔记本?或者甚至有两个编辑器,一个使用一个内核,另一个使用另一个内核?例如,在某些单元中运行 Python,在其他单元中运行 Julia?

visual-studio-code jupyter-notebook

5
推荐指数
0
解决办法
820
查看次数