Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Oracle到Cassandra数据迁移的数据验证_Apache Spark_Apache Spark Sql_Cassandra 2.0_Spark Cassandra Connector - Fatal编程技术网

Apache spark Oracle到Cassandra数据迁移的数据验证

Apache spark Oracle到Cassandra数据迁移的数据验证,apache-spark,apache-spark-sql,cassandra-2.0,spark-cassandra-connector,Apache Spark,Apache Spark Sql,Cassandra 2.0,Spark Cassandra Connector,我们每天都在将数据从Oracle迁移到Cassandra,这是ETL过程的一部分。我想在Spark作业完成后在两个数据库之间执行数据验证,以确保两个数据库同步。我们正在使用DSE 5.1。请您提供有价值的输入,以确保数据已正确迁移我假设您有带Spark支持的DSE Max。 SparkSQL应该最适合它。 首先,使用JDBC连接到Oracle 我没有Oracle DB,因此以下代码未经测试,请在运行之前检查JDBC URL和驱动程序: dse spark --driver-class-path

我们每天都在将数据从Oracle迁移到Cassandra,这是ETL过程的一部分。我想在Spark作业完成后在两个数据库之间执行数据验证,以确保两个数据库同步。我们正在使用DSE 5.1。请您提供有价值的输入,以确保数据已正确迁移

我假设您有带Spark支持的DSE Max。 SparkSQL应该最适合它。 首先,使用JDBC连接到Oracle 我没有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