小编tes*_*k03的帖子

为什么Java HashMap的最大容量为1 << 30而不是1 << 31?

为什么Java HashMap的最大容量为1 << 30而不是1 << 31,即使int的最大值是2 31 -1?最大容量初始化为static final int MAXIMUM_CAPACITY = 1 << 30;

java hashmap capacity

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

带聚合的 Spark 流式传输

我试图从聚合原理的角度理解火花流。Spark DF 基于小批量,并且计算是在特定时间窗口内的小批量上完成的。

假设我们的数据如下 -

    Window_period_1[Data1, Data2, Data3]
    Window_period_2[Data4, Data5, Data6] 

..
Run Code Online (Sandbox Code Playgroud)

然后首先计算 Window_period_1,然后计算 Window_period_2。如果我需要使用新的传入数据以及历史数据,比如说 Window_period_new 与 Window_period_1 和 Window_period_2 中的数据之间的 groupby 函数,我该怎么做?

查看同一事物的另一种方式是,如果我有一个已经创建了一些数据框的要求 -

df1、df2、df3 和我需要运行一个聚合,其中涉及来自 df1、df2、df3 和 Window_period_1、Window_period_2 的数据以及所有新传入的流数据

我该怎么做呢?

apache-spark spark-streaming apache-spark-sql

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

为变量设置值时为什么要使用位移?

我将通过HashMapJava中的类的源代码,并发现变量被初始化为

static final int MAXIMUM_CAPACITY = 1 << 30;
Run Code Online (Sandbox Code Playgroud)

为什么不只是

static final int MAXIMUM_CAPACITY = 1073741824;
Run Code Online (Sandbox Code Playgroud)

这意味着同样的事情.是否有任何性能原因或仅仅是一个奇特的东西?

java hashmap

4
推荐指数
1
解决办法
78
查看次数

当你可以通过ldap进行身份验证和授权时,为什么要使用kerberos?

我们正在讨论在我们拥有的大数据集群中使用kerberos.我们的管理员希望使用ldap进行身份验证和授权.我抬头看着互联网并得到了反复的反应但是对于使用kerberos的原因没有明确的理解.

我知道你可以使用kerberos和ldap,但我没有清楚地了解使用kerbors + ldap vs ldap的好处.有人可以解释一下吗?

security kerberos ldap bigdata

4
推荐指数
1
解决办法
7316
查看次数

在具有不同数据类型的java中使用Enums

为什么说在java中使用枚举更好.如果你有不同数据类型的常量,我认为最好使用带常量的类而不是枚举?

喜欢

Class A { 
    public static int A = 1;
    public static int B = 2;
    public static String c = "RADIUS";  
    public static String d = "LENGTH"; 
}
Run Code Online (Sandbox Code Playgroud)

代替

enum ofInts {A(1), B(2)}
enum ofStrings{c("RADUIS"), d("LENGTH")}
Run Code Online (Sandbox Code Playgroud)

java enums

2
推荐指数
1
解决办法
1658
查看次数

使用两个RDDs apache spark

我正在使用calliope即spark插件来连接cassandra.我创建了两个看起来像的RDD

class A val persistLevel = org.apache.spark.storage.StorageLevel.MEMORY_AND_DISK val cas1 = CasBuilder.cql3.withColumnFamily("cassandra_keyspace", "cassandra_coulmn_family 1") val sc1 = new SparkContext("local", "name it any thing ") var rdd1 = sc.cql3Cassandra[SCALACLASS_1](cas1) var rddResult1 = rdd1.persist(persistLevel)

class B val cas2 = CasBuilder.cql3.withColumnFamily("cassandra_keyspace", "cassandra_coulmn_family 2") var rdd2 = sc1.cql3Cassandra[SCALACLASS_2](cas2) var rddResult2 = rdd2.persist(persistLevel)

以某种方式跟随使用其他2创建新RDD的代码库不起作用.是否有可能我们不能一起迭代2个RDD?

这是不起作用的代码片段 -

case class Report(id: Long, anotherId: Long)

  var reportRDD = rddResult2.flatMap(f => {
    val buf = List[Report]()
    **rddResult1.collect().toList**.foldLeft(buf)((k, v) => {
      val buf1 = new ListBuffer[Report]
      buf ++ v.INSTANCE_VAR_FROM_SCALACLASS_1.foldLeft(buf1)((ik, iv) => …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

隐式转换选项[T]到String

我试图使用隐式转换scala中的选项值到String但不知何故它的工作.这是我的语法 -

object ToStringParser{
  implicit def optionAnyToString[T](input: Option[T]):String = {
    input match {
      case Some(i) => i.toString
      case None => "NULL"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

而我正在使用它 -

import domain.processors.ToStingParser._
println(submitDate)
Run Code Online (Sandbox Code Playgroud)

但这总是印刷 -

Some(2016-08-02T17:55:03.000-04:00)
Run Code Online (Sandbox Code Playgroud)

我们如何隐含选项

scala

0
推荐指数
1
解决办法
342
查看次数