我想在 sbt 交互模式下运行几个 sbt 命令,即不离开 sbt “shell”?
(注意: 有些问题回答了如何在标准 shell 中使用 sbt 将参数传递给 sbt-commands。不是我在这里想要的)
示例:我在 sbt 交互式 shell 中,我想运行“test:compile”,然后运行“test”
我知道 test 会调用 required 编译,但在这个例子中,我想在任何测试开始之前运行所有子项目的编译。
最近我一直在努力优化一些代码(需要计算时间和最大内存).要知道是否存在优化内存成本的潜在收益,我使用JProfiler.通常
现在,我处于第二种情况,GC活动图显示了峰值,但都低于2%(见下图).我该怎么理解?
默认情况下,我的理解是GC活动曲线的总和/积分是用于收集数据的CPU总百分比的估计值.所以在这里意味着远远低于最大2%
这是正确的吗?我错过了什么吗?
我明白 clickhouse 最终是一致的。因此,一旦插入调用返回,并不意味着数据将出现在选择查询中。
基本上我没有找到关于这个主题的太多信息,所以也许我没有提出最好的问题。请随时启发我。
我不想对数据集中使用的类的字段使用空值。我尝试使用 scalaOption
和 javaOptional
但失败了:
@AllArgsConstructor // lombok
@NoArgsConstructor // mutable type is required in java :(
@Data // see /sf/ask/4172695341/
public static class TestClass {
String id;
Option<Integer> optionalInt;
}
@Test
public void testDatasetWithOptionField(){
Dataset<TestClass> ds = spark.createDataset(Arrays.asList(
new TestClass("item 1", Option.apply(1)),
new TestClass("item .", Option.empty())
), Encoders.bean(TestClass.class));
ds.collectAsList().forEach(x -> System.out.println("Found " + x));
}
Run Code Online (Sandbox Code Playgroud)
在运行时失败并显示消息File 'generated.java', Line 77, Column 47: Cannot instantiate abstract "scala.Option"
问题:有没有一种方法可以使用 java 对数据集中不带 null 的可选字段进行编码?
附属问题:顺便说一句,我在 scala 中也没有使用太多数据集,您能否验证在 scala 中实际上可以对包含选项字段的案例类进行编码?
注意:这用于中间数据集,即不读也不写的数据(但用于 …
计算取决于其内容的 Array 的 hashCode 的合适方法是什么?
Array.hashCode
用于数组实例:
val h = a.hashCode
println(h == Array(1,2).hashCode) // false
a(0) = 42
println(h == a.hashCode) // true
Run Code Online (Sandbox Code Playgroud)
注意:在计算 hashCode 之前,最好避免将整个数组复制到例如 List
为什么我问:我在类中使用数组(作为私有字段),因为查找时间很关键,其内容与计算类的 hashCode 相关
我在Clickhouse中有一个表,说“ my_table”,其中有重复项(my_table_rep1,...)。我需要添加一列float64类型的默认值(-1)。
我应该怎么做?
我希望默认值不会实际添加到现有条目中。
我试图重新打包一个相对较大的Java Webapp,但我没有编写代码,并且该项目的配置丢失了。我设置了第一个包装,并将其部署在tomcat中。现在要了解它,我想获得成功启动或失败的servlet的列表,以及相应的访问URL。
一些细节:webapp使用gwt(我不掌握),我在ubuntu上使用tomcat7。如果可行,我不反对使用其他servlet容器的解决方案。
我在一个 Maven 项目上工作,但无权在我们公司的 Nexus 中部署(这是由 CI 工具完成的)。但是,在配置部署时,我想测试“mvn clean deploy”实际部署的内容。
问:有没有办法运行部署但不向 Nexus 存储库发送任何内容?
我期望 2 个选项中的 1 个:
注意:我的项目是多模块的。
我有一个SortedSet
,我需要将它转换为Seq
保留顺序(因为我需要map
使用seq输出调用).
REPL中的几个测试显示toSeq
保持订单以及toIndexedSeq
但我需要确定:是否保证保持订单?
否则我可以使用,.toSeq.sorted
但严重矫枉过正...
我发现当.map( identity ).cache
在rdd上使用时,如果物品很大,它会变得很慢.虽然它几乎是瞬间的.
注意:这可能与这个问题有关,但在这里我提供了一个非常精确的例子(可以直接在spark-shell中执行):
// simple function to profile execution time (in ms)
def profile[R](code: => R): R = {
val t = System.nanoTime
val out = code
println(s"time = ${(System.nanoTime - t)/1000000}ms")
out
}
// create some big size item
def bigContent() = (1 to 1000).map( i => (1 to 1000).map( j => (i,j) ).toMap )
// create rdd
val n = 1000 // size of the rdd
val rdd = sc.parallelize(1 to n).map( k …
Run Code Online (Sandbox Code Playgroud) apache-spark ×2
clickhouse ×2
java ×2
scala ×2
alter-table ×1
arrays ×1
caching ×1
deployment ×1
encoder ×1
gwt ×1
hashcode ×1
jprofiler ×1
maven ×1
option-type ×1
performance ×1
sbt ×1
seq ×1
servlets ×1
sortedset ×1
tomcat ×1