このトピックでは、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の実行に成功