【问题标题】:Connect Remote Cassandra Node From Spark Structured Streaming从 Spark 结构化流连接远程 Cassandra 节点
【发布时间】:2019-12-07 03:23:10
【问题描述】:

我正在尝试使用 spark 结构化流连接远程 cassandra 节点。

我可以在我的本地机器上连接到现有的 cassandra 节点。

这是我可以在本地机器上连接 Cassandra 的代码:

parsed = parsed_df \
    .withWatermark("sourceTimeStamp", "10 minutes") \
    .groupBy(
        window(parsed_df.sourceTimeStamp, "4 seconds"),
        parsed_df.id
    ) \
    .agg({"value": "avg"}) \
    .withColumnRenamed("avg(value)", "avg")\
    .withColumnRenamed("window", "sourceTime") 

def writeToCassandra(writeDF, epochId):
  writeDF.write \
    .format("org.apache.spark.sql.cassandra")\
    .mode('append')\
    .options(table="opc", keyspace="poc")\
    .save()

parsed.writeStream \
    .foreachBatch(writeToCassandra) \
    .outputMode("update") \
    .start()

但是,我想连接远程 cassandra 节点。我该如何指定?

【问题讨论】:

  • 这个问题代码有你的answer

标签: apache-spark pyspark cassandra spark-structured-streaming spark-cassandra-connector


【解决方案1】:

要连接到远程主机,您需要在 spark.cassandra.connection.host configuration property of Spark 中指定 Cassandra 节点的单个地址或逗号分隔的地址列表 - 这可以通过命令行参数完成(最灵活),或在您的代码中。如果 Cassandra 集群使用身份验证,那么您还需要提供 spark.cassandra.auth.usernamespark.cassandra.auth.password 属性。对于 SSL 和其他内容,请参阅 parameters reference

【讨论】:

    猜你喜欢
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2016-02-06
    • 2017-05-04
    • 2020-08-11
    相关资源
    最近更新 更多