このトピックでは、ScriptellaとAnalyticDB for MySQLの互換性テストについて説明します。 互換性は、接続、テーブル作成、テーブルデータクエリ、データ書き込み、ビュー作成など、さまざまな側面でテストされます。

テスト環境

Java JDBC Scriptella
Java 1.8.0_231 MySQLコネクタ5.1.48 スクリプテラ1.2

テストスコープ

  • 次のコマンドを実行して
    java -jar scriptella.jar -debug etl.xml
  • ETLスクリプトの実行
    <! DOCTYPE etlシステム「http://scriptella.org/dtd/etl.dtd」>
    <etl>
        <connection id="adb" driver="mysql" url="jdbc:mysql:// 127.0.0.1:3303/test4dmp" user="k *****" password="" classpath="/ライブラリ /scriptella-1.2/mysql-connector-java-5.1.48.jar;/ライブラリ /scriptella-1.2/mysql-connector-java-5.1.48-bin.jar" />
    
        <! -- DROP TABLE -->
        <script connection-id="adb">
            ドロップテーブルが存在する場合は 'student_etl';
        </script>
    
        <! -テーブルを作成->
        <script connection-id="adb">
            テーブル 'student_etl' ('id' bigint、'name' varchar、'unit' int) を作成します。DISTRIBUTE BY HASH('id') INDEX_ALL='Y';
        </script>
    
        <! -- クエリ -->
        <query connection-id="adb">
            SELECT * 学生から
        </query>
    
        <! -挿入テーブル->
        <script connection-id="adb">
            学生からstudent_etl select * に挿入します。
        </script>
    
        <! -- ビューの作成 -->
        <script connection-id="adb">
            作成ビューstudent_viewとしてselect * from student;
        </script>
    </etl>
  • 戻り値
    2019-12-4 15:02:31 <進行状況> 実行の進行状況。プロパティの初期化: 1%
    2019-12-4 15:02:31 <詳細> registerDriver: com.mysql.jdbc.Driver @ 6f539caf
    2019-12-4 15:02:31 <詳細> ドライバークラスcom.mysql.jdbc. driver
    2019-12-4 15:02:31 <詳細> DriverManager.getConnection("jdbc:mysql:// 127.0.0.1:3303/test4dmp")
    2019-12-4 15:02:31 <詳細> com.mysql.jdbc.Driverを試す
    2019-12-4 15:02:32 <詳細> com.mysql.jdbc.Driverを返すgetConnection
    2019-12-4 15:02:32 <Details> jdbc:mysql:// 127.0.0.1:3303/test4dmp: 文キャッシュが有効になっています (キャッシュサイズ64) 。 文区切り文字 ';'. 自動コミット: false。
    2019-12-4 15:02:32 <進行状況> 実行の進行状況。初期化された接続JdbcConnection{com.mysql.jdbc.JDBC4Connection} 、方言 {MySQL 5.1.35-analyticdb} 、プロパティ {}: 5%
    2019-12-4 15:02:32 <進行状況> 実行進行状況./etl/script[2] prepared: 6%
    2019-12-4 15:02:32 <進行状況> 実行進行状況./etl/script[3] prepared: 7%
    2019-12-4 15:02:32 <進行状況> 実行進行状況./etl/script[4] prepared: 10%
    2019-12-4 15:02:32 <進捗状況> 登録JMX mbeean: scriptella:type=etl,url="file:/Library/scriptella-1.2/etl.xml"
    2019-12-4 15:02:32 <詳細> スクリプト /etl /スクリプトの実行 [1]
    2019-12-4 15:02:33 <詳細> 「student_etl」が存在する場合、実行済みステートメントドロップテーブル。 更新カウント: 0
    2019-12-4 15:02:33 <詳細> スクリプト /etl /スクリプト [1] 完了
    2019-12-4 15:02:33 <進行状況> 実行進行状況./etl/script[1] executed: 27%
    2019-12-4 15:02:33 <詳細> スクリプト /etl /スクリプトの実行 [2]
    2019-12-4 15:02:34 <Details> 実行済みステートメントCreate Table 'student_etl' ('id' bigint, 'name' varchar, 'unit' int ) DISTRIBUTE BY HASH('id') INDEX_ALL='Y' 。 更新カウント: 0
    2019-12-4 15:02:34 <詳細> スクリプト /etl /スクリプト [2] 完了
    2019-12-4 15:02:34 <進行状況> 実行進行状況./etl/script[2] executed: 44%
    2019-12-4 15:02:34 <詳細> query /etl/queryの実行 [1]
    2019-12-4 15:02:34 <詳細> query /etl/query[1] の処理行 #1
    2019-12-4 15:02:34 <詳細> query /etl/query[1] の処理行 #2
    2019-12-4 15:02:34 <詳細> 実行済みステートメントSELECT * FROM student
    2019-12-4 15:02:34 <詳細> Query /etl/query[1] が処理されました。
    2019-12-4 15:02:34 <進行状況> 実行進行状況./etl/query[1] executed: 61%
    2019-12-4 15:02:34 <詳細> スクリプト /etl /スクリプトの実行 [3]
    2019-12-4 15:02:34 <詳細> 学生からstudent_etl select * に実行されたステートメントinsert。 更新カウント: 2
    2019-12-4 15:02:34 <詳細> スクリプト /etl /スクリプト [3] 完了
    2019-12-4 15:02:34 <進行状況> 実行進行状況./etl/script[3] executed: 78%
    2019-12-4 15:02:34 <詳細> スクリプト /etl /スクリプトの実行 [4]
    2019-12-4 15:02:35 <詳細> 実行されたステートメントは、学生からselect * としてビューstudent_viewを作成します。 更新カウント: 0
    2019-12-4 15:02:35 <詳細> スクリプト /etl /スクリプト [4] 完了
    2019-12-4 15:02:35 <進行状況> 実行進行状況./etl/script[4] executed: 95%
    2019-12-4 15:02:35 <進行状況> 実行の進行状況。完了
    2019-12-4 15:02:35 <詳細> コミット接続JdbcConnection{com.mysql.jdbc.JDBC4Connection}
    2019-12-4 15:02:35 <詳細> JdbcConnectionのクローズ {com.mysql.jdbc.JDBC4Connection}
    2019-12-4 15:02:35 <進行状況> 実行統計:
    実行された1クエリ、4スクリプト、5ステートメント
    /etl/script[1]: 要素が正常に実行されました (1文) 。 作業時間897ミリ秒。 平均スループット: 1.11ステートメント /秒。
    /etl/script[2]: 要素が正常に実行されました (1文) 。 作業時間821ミリ秒。 平均スループット: 1.22ステートメント /秒。
    /etl/query[1]: 要素が正常に実行されました (1文) 。 作業時間36ミリ秒。 平均スループット: 27.27ステートメント /秒。
    /etl/script[3]: 要素が正常に実行されました (1文) 。 作業時間702ミリ秒。 平均スループット: 1.42ステートメント /秒。
    /etl/script[4]: 要素が正常に実行されました (1文) 。 作業時間303ミリ秒。 平均スループット: 3.3ステートメント /秒。
    総作業時間: 3.17秒
    2019-12-4 15:02:35 <進行状況> ETLファイル /ライブラリ /scriptella-1.2/etl.xmlの実行に成功