我试图编写一个通用的方法来解析字符串中的对象.要清楚,我有以下不那么优雅的实现:
public static Object parseObjectFromString(String s, Class class) throws Exception {
String className = class.getSimpleName();
if(className.equals("Integer")) {
return Integer.parseInt(s);
}
else if(className.equals("Float")) {
return Float.parseFloat(s);
}
else if ...
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来实现这个?
我正在尝试计算逐点互信息(PMI)。
我在这里分别为 p(x, y) 和 p(x) 定义了两个 RDD:
pii: RDD[((String, String), Double)]
pi: RDD[(String, Double)]
Run Code Online (Sandbox Code Playgroud)
任何我写来计算PMI从RDDS代码pii
和pi
不漂亮。我的方法是首先压平 RDDpii
并pi
在按摩元组元素时加入两次。
pii: RDD[((String, String), Double)]
pi: RDD[(String, Double)]
Run Code Online (Sandbox Code Playgroud)
显然,这很糟糕。有没有更好的(惯用的)方法来做到这一点?注意:我可以通过存储 log-probs 来优化日志pi
,pii
但选择以这种方式编写以保持问题清晰。
我有一个RDD,看起来像:
uidProcessedKeywords: org.apache.spark.rdd.RDD[(Long, Map[String,Double])]
Run Code Online (Sandbox Code Playgroud)
如何在RDD中展平地图以获得此结果:
org.apache.spark.rdd.RDD[(Long, String, Double)]
Run Code Online (Sandbox Code Playgroud) 我按照使用 maven 构建胖 jar 中的示例进行操作,现在我可以运行以下命令来构建/测试和安装我的 jar。
mvn clean compile install
Run Code Online (Sandbox Code Playgroud)
但是,install
现在需要更长的时间,因为我们现在正在构建一个胖罐子。是否有可能有两个版本的安装,其中一个只构建没有依赖关系的 jars,另一个这样做,另外构建胖 jar,例如:
mvn clean compile install
mvn clean compile install-fatjar
Run Code Online (Sandbox Code Playgroud)
我知道install-fatjar
这不是一个有效的阶段,但只是想了解我要完成的工作,即有条件的安装,只有在提供选项时才构建胖罐。