【问题标题】:Data transfer from Cassandra to SQL从 Cassandra 到 SQL 的数据传输
【发布时间】:2015-09-09 19:29:13
【问题描述】:

我想将选定的数据从 Cassandra 导出到 SQL。任何知道任何开源连接器或任何其他解决方法的人。仅供参考,两者都在不同的服务器上运行。 Cassandra 在 3 节点 centos 集群上运行,而 MSSQL 在 Windows 上。

下面是我的表格结构:

CREATE TABLE EventsByLogDate (
  Id text,  
  impression bigint,
  detailView bigint,
  photoView bigint,
  btnSellerView bigint,
  response bigint,
  totalViews bigint,
  logdate timestamp,
  PRIMARY KEY (logdate, Id)
);

我想每天将数据从 Cassandra 导出到 MSSQL。因此,内置复制命令不起作用,因为它不支持 where 子句。

【问题讨论】:

    标签: sql-server cassandra cassandra-2.0


    【解决方案1】:

    您可能会发现在这里使用 Spark 之类的东西会更有优势。您可以将 Spark JDBC Dataframes api 和 Spark Cassandra 连接器用于 Cassandra Dataframe api。

    当您将数据转换为 MySql 表单时,您可以灵活地对数据执行任何操作。

    http://spark.apache.org/docs/latest/sql-programming-guide.html https://github.com/datastax/spark-cassandra-connector

    【讨论】:

      【解决方案2】:

      有一个用于 C* 的 ODBC 连接器 - http://www.simba.com/connectors/apache-cassandra-odbc。我已经以一种能够使用 C* 表中的 SQL 查询插入/更新/删除数据的方式对其进行了配置。

      免责声明:我没有在任何生产环境中使用过。

      但是......虽然存在这种可能性,但我需要问:为什么需要这样的事情?您正在尝试实现某些目标,但这似乎不是最有效的方法。添加一些有关您希望实现的目标的信息,我们将能够向您建议一些可能的解决方案。

      【讨论】:

        【解决方案3】:

        Cassandra 有一个 COPY 命令来导出或导入数据,但不是键空间的全部数据,只是表的数据。

        示例命令(Cassandra 2.x)

        导出:将表名复制到“源路径”
        将用户复制到“/opt/cassandra/data_backup”

        导入:从“源路径”复制表名
        从'/opt/cassandra/data_backup'复制用户

        你也可以指定列

        将用户(id,名称)复制到“/opt/cassandra/data_backup”

        参考文献http://docs.datastax.com/en/cql/3.1/cql/cql_reference/copy_r.html
        http://www.datastax.com/dev/blog/ways-to-move-data-tofrom-datastax-enterprise-and-cassandra

        祝你好运!

        【讨论】:

          猜你喜欢
          • 2019-08-10
          • 2018-04-13
          • 1970-01-01
          • 2019-01-26
          • 2021-12-23
          • 1970-01-01
          • 2013-07-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多