【问题标题】:Execute Prepared and Batch Statement in SparkSession.SQL在 SparkSession.SQL 中执行 Prepared 和 Batch 语句
【发布时间】:2017-01-19 18:27:42
【问题描述】:

如何使用 SparkSession.SQL 在 Java 中针对 Cassandra 执行 Prepared 和 Batch 语句? 我正在使用 Spark 2.1

【问题讨论】:

    标签: java apache-spark cassandra apache-spark-sql


    【解决方案1】:

    简答:批处理和准备语句自动发生。

    长答案:SparkSql 通过 Spark Cassandra 连接器 - Cassandra 数据源工作。数据源关系定义了如何从 Cassandra 读取和写入数据。这意味着通过 SparkSql 或 Dataset api 进行的任何写入都将使用 Spark Cassandra 连接器附带的所有功能。

    所有写入都将使用准备好的语句和分区键批处理来完成。要调整批处理的完成方式(或任何其他写入配置),您可以更改此处列出的参数

    https://github.com/datastax/spark-cassandra-connector/blob/master/doc/reference.md#write-tuning-parameters

    由于 SparkSql 仅通过这种关系进行通信,因此无法使用 Cassandra 特定的概念,例如 Batching 或 Prepared statements。

    【讨论】:

    • 我没有资源来提供一对一的支持 :) 但是请随时向邮件列表发送电子邮件,我会看看我是否有时间groups.google.com/a/lists.datastax.com/forum/#!forum/…
    • 非常感谢!这已经足够了
    • 另一件事,这是否意味着我只需要单独执行多个 Insert 语句,然后 Spark 可以处理它们,或者我需要编写“开始批处理”并将它们分组到一个语句中?
    • 您不应该在 spark sql 中编写单个插入语句。您应该转换其他大数据对象。喜欢SELECT * from X Where X.a > 5 INSERT INTO Y
    • 对不起.. 我不熟悉这个。你能指导我一份好的文件吗?
    猜你喜欢
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多