选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

第 4 步:配置 DSBulk 设置,以将 CSV 文件中的数据上传到目标表

聚焦模式
第 4 步:配置 DSBulk 设置,以将 CSV 文件中的数据上传到目标表 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本部分概述配置 DSBulk 以将数据上传到 Amazon Keyspaces 所需的步骤。您可以使用配置文件来配置 DSBulk。您可以直接从命令行指定配置文件。

  1. 为迁移到 Amazon Keyspaces 创建一个 DSBulk 配置文件,在此示例中,我们使用的文件名是 dsbulk_keyspaces.conf。在 DSBulk 配置文件中指定以下设置。

    1. PlainTextAuthProvider:使用 PlainTextAuthProvider 类创建身份验证提供者。ServiceUserNameServicePassword 应该与您按照创建用于通过编程方式访问 Amazon Keyspaces 的凭证。中的步骤生成特定于服务的凭证时获得的用户名和密码相匹配。

    2. local-datacenter:将 AWS 区域 的值设置为您要连接到的 local-datacenter。例如,如果应用程序要连接到 cassandra.us-east-2.amazonaws.com,则将本地数据中心设置为 us-east-2。有关所有可用的 AWS 区域,请参阅 Amazon Keyspaces 的服务端点。为了避免复制,请将 slow-replica-avoidance 设置为 false

    3. SSLEngineFactory:要配置 SSL/TLS,初始化 SSLEngineFactory,方法是在配置文件中添加一个部分,其中只有一行,用于指定类 class = DefaultSslEngineFactory。提供指向 cassandra_truststore.jks 的路径和您之前创建的密码。

    4. consistency:将一致性级别设置为 LOCAL QUORUM。不支持其他写入一致性级别,有关更多信息,请参阅 支持的 Apache Cassandra 读写一致性级别和相关成本

    5. 可以在 Java 驱动程序中配置每个池的连接数。在此示例中,将 advanced.connection.pool.local.size 设置为 3。

    以下是完整的示例配置文件。

    datastax-java-driver { basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"] advanced.auth-provider { class = PlainTextAuthProvider username = "ServiceUserName" password = "ServicePassword" } basic.load-balancing-policy { local-datacenter = "us-east-2" slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM default-idempotence = true } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "./cassandra_truststore.jks" truststore-password = "my_password" hostname-validation = false } advanced.connection.pool.local.size = 3 }
  2. 查看 DSBulk load 命令的参数。

    1. executor.maxPerSecond:load 命令尝试每秒同时处理的最大行数。如果未设置,则使用 -1 禁用此设置。

      根据您为目标表预置的 WCU 数量设置 executor.maxPerSecondload 命令的 executor.maxPerSecond 不是限制,而是目标平均值。这意味着它可以(并且经常)突破您设定的数字。要允许暴增并确保有足够的容量来处理数据加载请求,请将 executor.maxPerSecond 设置为表写入容量的 90%。

      executor.maxPerSecond = WCUs * .90

      在本教程中,我们将 executor.maxPerSecond 设置为 5。

      注意

      如果您使用的是 DSBulk 1.6.0 或更高版本,则可以改用 dsbulk.engine.maxConcurrentQueries

    2. 为 DSBulk load 命令配置以下这些附加参数。

      • batch-mode:此参数告诉系统按分区键对操作进行分组。我们建议禁用批处理模式,因为它可能会导致热键情况并导致 WriteThrottleEvents

      • driver.advanced.retry-policy-max-retries:这决定了重试失败查询的次数。如果未设置,则默认值为 10。您可以根据需要调整此值。

      • driver.basic.request.timeout:系统等待查询返回的时间(以分钟为单位)。如果未设置,则默认值为“5 分钟”。您可以根据需要调整此值。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。