【问题标题】:Data validation for Oracle to Cassandra Data MigrationOracle 到 Cassandra 数据迁移的数据验证
【发布时间】:2017-11-16 14:16:57
【问题描述】:

作为 ETL 流程的一部分,我们每天都将数据从 Oracle 迁移到 Cassandra。一旦 Spark 作业完成,我想在两个数据库之间执行数据验证,以确保两个数据库同步。我们正在使用 DSE 5.1。您能否提供宝贵的意见以确保数据已正确迁移

【问题讨论】:

    标签: apache-spark apache-spark-sql cassandra-2.0 spark-cassandra-connector


    【解决方案1】:

    我假设您拥有支持 Spark 的 DSE Max。 SparkSQL 应该最适合它。 首先,您使用 JDBC 连接到 Oracle https://spark.apache.org/docs/2.0.2/sql-programming-guide.html#jdbc-to-other-databases 我没有 Oracle DB,所以以下代码没有经过测试,请在运行前检查 JDBC URL 和驱动程序:

    dse spark --driver-class-path ojdbc7.jar --jars ojdbc7.jar
    scala> val oData = spark.read
        .format("jdbc")
        .option("url", "jdbc:oracle:thin:hr/hr@//localhost:1521/pdborcl")
        .option("dbtable", "schema.tablename")
        .option("user", "username")
        .option("password", "password")
        .load()
    

    C* 数据已经映射到 SparkSQL 表。所以:

    scala> cData = spark.sql("select * from keyspace.table");
    

    您需要检查两者的架构和数据转换详细信息,以正确比较这些表。简单的集成检查:所有来自 Oracle 的数据都存在于 C* 中:

    scala> cData.except(oData).count
    0: Long
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 2020-08-06
      • 2016-08-22
      • 1970-01-01
      相关资源
      最近更新 更多