0

OracleからCassandraへデータをETLプロセスの一部として毎日移行しています。両方のデータベースが同期していることを確認するために、Sparkジョブが完了したら、2つのデータベース間でデータ検証を実行したいと思います。私たちはDSE 5.1を使用しています。データが適切に移行されるように貴重な情報を提供してください。OracleからCassandraへのデータ検証データ移行

答えて

0

SparkのサポートでDSE Maxを使用していると仮定しました。 SparkSQLはスイートに最適です。あなたは私が何のオラクルDBので、次のコードをテストしないされていない持っているJDBC https://spark.apache.org/docs/2.0.2/sql-programming-guide.html#jdbc-to-other-databases でOracleに接続 まず、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/[email protected]//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 
関連する問題