# DataX エンジン
# I. DataX プロファイル
DataX はアリババが公開したオープンソースプロジェクト(詳細はDataX の Github ホームページ (opens new window))で、異種データソース間のデータ同期によく使われる効率的なオフラインデータ同期ツールです。
DataX は Framework+plugin アーキテクチャを採用し、データソースの読み取りと書き込みはそれぞれ Reader と Writer プラグインに対応し、それぞれのデータソースに対応する Reader または Writer があり、DataX はデフォルトで豊富な Reader と Writer サポートを提供し、多くの主流データソースに適応する。Framework は、Reader と Writer を接続するために使用され、同期タスク内のデータ処理、ツイストなどのコアプロセスを担当します。
DataX のデータ同期タスクは、主に、データソースからデータを抽出する方法と、抽出したデータをデータソースに書き込む方法を表す、Reader と Writer の構成である構成ブックによって制御されます。異種データソースの同期は、構成テキストで対応するデータソースの Reader と Writer を使用することで実現できます。
ta-tool では、DataX エンジンを統合し、TA クラスタのプラグイン(TA クラスタの Reader と Writer)を作成し、TA クラスタプラグインによって、TA クラスタのものを DataX のデータソースとすることができる。
ta-tool の DataX エンジンを使用すると、次のデータ同期を完了できます
- 他のデータベースのデータを TA クラスタにインポートするには、DataX の既存の Reader プラグインと TAWriter
- TA クラスタのデータを他のデータベースにエクスポートするには、TAReader と DataX の既存の Writer プラグイン
# II。DataX エンジンの使用方法
ta-tool の DataX エンジンを使用してマルチデータソース同期タスクを実行する必要がある場合は、まず TA クラスタにDataX タスクの Config テキストをし、次に二次開発コンポーネントの DataX コマンド、Config テキストを読み込んでデータ同期タスクを実行する必要があります。
# 2.1 配置文書のサンプル
DataX のタスク Config テキストは json テキストである必要があります。json 構成のテンプレートは次のとおりです
{
"job": {
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"sliceRecordCount": 10,
"column": [
{
"type": "long",
"value": "10"
},
{
"type": "string",
"value": "hello,你好,世界-DataX"
}
]
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"encoding": "UTF-8",
"print": true
}
}
}
],
"setting": {
"speed": {
"channel": 5
}
}
}
}
構成テキスト全体は JSON であり、最も外側の"job"要素には、それぞれ"content"と"setting"の 2 つの要素が含まれています。"setting」の「speed」内の「channel」は、同時に実行されるタスクの数です。
コンフィギュレーションブックの主にコンフィギュレーションが必要な部分は、"content"の"reader"要素と"writer"要素で、それぞれデータを読み取る Reader プラグインとデータを書き込む Writer プラグインを構成する。DataX プリセットの Reader および Writer プラグインの構成方法については、DataX のSupport Data Channels (opens new window)セクションを参照
# 2.2 DataX コマンドの実行
構成ブックの作成が完了したら、次のコマンドを実行して構成ブックを読み取り、データ同期タスクを開始できます。
ta-tool datax_engine -conf <configPath> [--date <date>]
渡されたパラメーターは、ブックを構成するパスです。
# III。TA クラスターの DataX プラグインの説明
# 3.1 クラスタ内で使用されるプラグイン
タイプ | データソース | Reader(読む) | ライター | ドキュメント |
---|---|---|---|---|
TAシステム | TA | √ | √ | 読む 、 書く |
カスタムテーブル | TA | √ | 書く | |
jsonテキスト | TA | √ | 書く |
# 3.2 クラスタ外で使用されるプラグイン
タイプ | データソース | Reader(読む) | ライター | ドキュメント |
---|---|---|---|---|
TAシステム | TA | √ | 書く |
# 3.3 DATADATAXX ネイティブプラグイン
タイプ | データソース | Reader(読む) | ライター | ドキュメント |
---|---|---|---|---|
RDBMSリレーショナルデータベース | My SQL | √ | √ | 読む 、 書く |
オラクル | √ | √ | 読む 、 書く | |
SQLServer | √ | √ | 読む 、 書く | |
Postgre SQL | √ | √ | 読む 、 書く | |
DRDS | √ | √ | 読む 、 書く | |
汎用RDBMS(すべてのリレーショナルデータベースをサポート) | √ | √ | 読む 、 書く | |
Aliyunデータストレージ | ODPS | √ | √ | 読む 、 書く |
ADS | √ | 書く | ||
私たち | √ | √ | 読む 、 書く | |
OCS | √ | √ | 読む 、 書く | |
NoSQLデータストア | OTS | √ | √ | 読む 、 書く |
Hベース0.9 4 | √ | √ | 読む 、 書く | |
Hベース1.1 | √ | √ | 読む 、 書く | |
Phoenix 4. x | √ | √ | 読む 、 書く | |
フェニックス5. x | √ | √ | 読む 、 書く | |
MongoDB | √ | √ | 読む 、 書く | |
巣箱 | √ | √ | 読む 、 書く | |
カサンドラ | √ | √ | 読む 、 書く | |
構造化データストレージなし | TxtFile | √ | √ | 読む 、 書く |
FTP | √ | √ | 読む 、 書く | |
HDFS | √ | √ | 読む 、 書く | |
エラスティックサーチ | √ | √ | 読む 、 書く | |
時系列データベース | Open TSDB | √ | 読む | |
TSDB | √ | √ | 読む 、 書く |