火花和卡桑德拉穿越Python

2024-10-04 09:25:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在cassandra中存储了大量数据,我想通过python使用spark来处理它。 我只想知道如何通过python连接spark和cassandra。 我见过有人用sc.砂锅但是它不能工作,一次从cassandra获取所有数据,然后输入spark是没有意义的。 有什么建议吗?在


Tags: 数据建议spark意义sccassandra砂锅
2条回答

你试过文档中的例子了吗。在

Spark Cassandra Connector Python Documentation

 spark.read\
    .format("org.apache.spark.sql.cassandra")\
    .options(table="kv", keyspace="test")\
    .load().show()

我只给我的“短”2美分。正式文件完全可以让你开始。您可能需要指定这不起作用的原因,也就是说,内存是否用完了(也许您只需要增加“驱动程序”的内存),或者是否存在导致示例无法工作的特定错误。如果你能提供这个例子,那就更好了。在

以下是我的一些观点/经历。通常,不总是这样,但大多数情况下,分区中有多个列。您不必总是将所有数据加载到一个表中,您可以或多或少地将处理(大部分时间)保持在单个分区内。由于数据是在一个分区内排序的,所以这通常进行得相当快。没有出现任何重大问题。在

如果你不想让卡桑德拉的整个商店都去做你的处理,你真的有很多解决办法。基本上那就是quora材料。以下是一些比较常见的:

  1. 立即在应用程序中进行处理-可能需要某种实例间通信框架,比如更好的akka集群的hazelcast这真是一个广泛的话题
  2. spark streaming——只需在微批处理中立即进行处理,并刷新结果以读取到某个持久层——可能是cassandra
  3. ApacheFlink-使用适当的流式处理方案,定期将进程状态刷新到cassandra
  4. 将数据存储到cassandra中,以它应该被读取的方式-这种方法是最有建议的(只是很难说你提供的信息)
  5. 名单可能会越来越多。。。cassandra中的用户定义函数,如果任务更简单,则聚合函数。在

提供一些关于用例的细节也是个好主意。我在这里所说的或多或少是相当笼统和含糊的,但是再把这些都放在评论中是没有意义的。

相关问题 更多 >