在Java中,读取环境变量是完成的System.getenv().
有没有办法在Scala中执行此操作?
有哪些动态更改log4j日志级别的方法,以便我不必重新部署应用程序.在这些情况下,这些变化是永久性的吗?
我正在使用Maven-Shade-Plugin来创建一个可运行的Uber-jar.根据本页的最后一帧,可以通过使用以下方式最小化jar的大小:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,此功能未考虑log4j.properties文件中声明的类.因此,例如org.apache.log4j.appender.TimeAndSizeRollingAppender,即使它已在log4j.properties文件中声明,也不包含在Uber-jar中.
我相信我会遇到与Spring相同的问题.如果我的代码仅引用接口A并且我的Spring文件包含实现A的类B的实例化,那么B可能不会被添加到jar中,因为它不在代码中.
我怎么解决这个问题?
我试图在Velocity #foreach指令中获得一个从零开始的计数器.
如果我使用:
#foreach ($item in $list)
item.getName() : $velocityCount
#end
Run Code Online (Sandbox Code Playgroud)
我会得到:
Fred : 1
Wilma : 2
Barney : 3
Run Code Online (Sandbox Code Playgroud)
但是我需要:
Fred : 0
Wilma : 1
Barney : 2
Run Code Online (Sandbox Code Playgroud)
从速度模板的角度来看,解决方案必须尽可能简单.
编辑:
我可以使用:
#foreach ($item in $list)
#set( $num = $velocityCount - 1 ) //The white space in mandatory
item.getName() : $num
#end
Run Code Online (Sandbox Code Playgroud)
它的工作原理.但我正在寻找更优雅的解决方案.
编辑2:
我也需要基于单一的计数器.也就是说,在同一模板中,我很可能会有一个#foreach指令需要一个基于零的计数器和另一个#foreach需要一个基本计数器的指令.
我从Kafka下载页面下载了Apache Kafka.我把它提取到了/opt/apache/installed/kafka-0.7.0-incubating-src.
该快速入门页面说,你需要通过运行来启动饲养员,然后开始卡夫卡:
>bin/kafka-server-start.sh config/server.properties
我正在使用单独的Zookeeper服务器,因此我编辑config/server.properties指向该Zookeeper实例.
当我按照快速入门页面中的说明运行Kafka时,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: kafka/Kafka
Caused by: java.lang.ClassNotFoundException: kafka.Kafka
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: kafka.Kafka. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我使用telnet确保可以从Kafka运行的机器访问Zookeeper实例.一切都好.
为什么我会收到此错误?
通过简单地将消息放入UI并单击"发布消息"按钮,可以使用UI轻松完成将单个消息发布到RabbitMQ队列.
你如何发布一批消息?
我有一个文件,其中包含要发送给RabbitMQ的消息.每行有一条消息.
如何将文件中的所有消息发布到RabbitMQ服务器?
有没有办法从命令行执行此操作?
我将在Spark的上下文中提出这个问题,因为这就是我所面临的问题,但这可能是一个普通的Java问题.
在我们的火花工作中,我们Resolver需要在所有工人中使用它(它在udf中使用).问题是它不可序列化,我们无法改变它.解决方案是将其作为可序列化的另一个类的成员.
所以我们最终得到:
public class Analyzer implements Serializable {
transient Resolver resolver;
public Analyzer() {
System.out.println("Initializing a Resolver...");
resolver = new Resolver();
}
public int resolve(String key) {
return resolver.find(key);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我们broadcast使用Spark API这个类:
val analyzer = sparkContext.broadcast(new Analyzer())
Run Code Online (Sandbox Code Playgroud)
(有关Spark广播的更多信息,请点击此处)
然后,我们继续analyzer在UDF中使用,作为我们的火花代码的一部分,具体如下:
val resolve = udf((key: String) => analyzer.value.resolve(key))
val result = myDataFrame.select("key", resolve("key")).count()
Run Code Online (Sandbox Code Playgroud)
这一切都按预期工作,但让我们感到疑惑.
Resolver没有实现Serializable,因此标记为transient- 意味着它不会与它的所有者对象一起序列化Analyzer.
但是正如您从上面的代码中可以清楚地看到的那样,该resolve()方法使用resolver,因此它不能为null.事实上并非如此.代码有效.
因此,如果字段未通过序列化传递,那么resolver …
我希望用Python或R(最好是R)一起破解kafka消费者.使用kafka控制台使用者我可以grep一个字符串并检索相关数据但是在R中适当地解析它时我感到很茫然.
有些kafka客户端可以使用其他语言(例如:PHP,CPP),但从数据分析的角度来看,R中的一个客户端会很有用.
如果这个论坛上的专家R开发人员暗示/建议可以让我在这方面取得进展的资源,那将是很棒的.
Apache Kafka:incubator.apache.org/kafka/
Kafka Consumer Client(s):https://github.com/kafka-dev/kafka/tree/master/clients
我有一个Web表单,允许用户在我们的系统中打开票证时上传文件.使用"ajax控件工具包"asyncFileUpload控件完成上载.
我们的想法是将文件保存到临时目录,并在用户点击"提交"按钮时将它们保存到永久位置.
我希望能够摆脱不再相关的临时文件(例如,用户离开页面一个月而不发布表单).
什么是不永远保存临时文件的最佳方法.也许将它们保存在会话中?也许让他们保持在观察状态?
我可以在超时时向页面添加一些JS,并添加一些在用户离开页面时运行的代码.但这些想法是客户端解决方案.我不希望有人篡改代码并在我的系统上留下垃圾.
还有其他想法吗?
谢谢,Summerbulb
我正在尝试分析我的 Spark 作业中的一个问题,该问题因OutOfMemory错误而失败。
我试图通过查看 Spark ApplicationMaster 的 UI 来分析问题。UI 显示作业的阶段和任务细分,我将分析重点放在正在经历任务失败的阶段。
Stage UI 有一个 DAG,显示该阶段中正在执行的实际命令/方法。
问题是我有 150 行代码进行 DataFrame 转换,而最后只有一行代码执行一项操作 - 保存到镶木地板。这意味着所有“蓝色框”都有最后一行的行号。
是的,他们有一些关于方法的信息(窗口、顺序等),但我的整个代码中都有这些方法,所以我无法知道它引用的是哪一行。
我怎样才能找到代码的哪一部分有问题?
java ×4
apache-kafka ×2
apache-spark ×2
scala ×2
asp.net ×1
c# ×1
command-line ×1
file ×1
foreach ×1
kryo ×1
log4j ×1
logging ×1
maven ×1
maven-plugin ×1
python ×1
r ×1
rabbitmq ×1
runtime ×1
velocity ×1