小编JDe*_*suv的帖子

如何使用Spark DataFrames查询JSON数据列?

我有一个Cassandra表,为简单起见,看起来像:

key: text
jsonData: text
blobData: blob
Run Code Online (Sandbox Code Playgroud)

我可以使用spark和spark-cassandra-connector为此创建一个基本数据框:

val df = sqlContext.read
  .format("org.apache.spark.sql.cassandra")
  .options(Map("table" -> "mytable", "keyspace" -> "ks1"))
  .load()
Run Code Online (Sandbox Code Playgroud)

我正在努力将JSON数据扩展到其底层结构中.我最终希望能够根据json字符串中的属性进行过滤并返回blob数据.像jsonData.foo ="bar"之类的东西并返回blobData.这目前可能吗?

scala dataframe apache-spark apache-spark-sql spark-cassandra-connector

37
推荐指数
2
解决办法
4万
查看次数

通过多个递归调用将普通递归转换为尾递归

我试图了解如何将各种递归函数转换为尾递归。我浏览了斐波那契和阶乘转换为尾递归的许多示例,并理解了这些示例,但是在艰难地过渡到结构有些不同的问题时,我遇到了困难。一个例子是:

def countSteps(n: Int): Int = {
  if(n<0) return 0
  if(n==0) return 1
  countSteps(n-1) + countSteps(n-2) + countSteps(n-3)
}
Run Code Online (Sandbox Code Playgroud)

您如何将其转换为尾递归实现?

我已经看过类似的问题,例如: 将普通递归转换为尾递归, 但是这些似乎并没有转化为这个问题。

algorithm recursion scala tail-recursion

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

Cassandra LOCAL_QUORUM

我无法理解/查找有关如何在cassandra中计算各种法定人数的信息.

假设我有一个16节点集群,它使用2个数据中心的网络拓扑策略.每个数据中心的复制因子为2(DC1:2,DC2:2).

在这个例子中,如果我使用LOCAL_QUORUM写入,我会将数据写入4个节点(每个数据中心2个),但确认何时发生?在1个数据中心写入2个节点后?

另外,为了保持强大的读取一致性,我需要Write节点+读取节点>复制因子.在上面的例子中,如果读取和写入都是LOCAL_QUORUM,那么我将有2 + 2,这不能保证强读取一致性.我理解正确吗?那么我需要什么级别才能确保强大的读取一致性?

这里的目标是确保如果数据中心发生故障,读取/写入可以继续,同时最大限度地减少延迟.

cql cassandra nosql datastax cassandra-2.0

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