# 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エンジンを統合し、TEクラスタのプラグイン(TEクラスタのReaderとWriter)を作成し、TAクラスタプラグインによって、TEクラスタのものをDataXのデータソースとすることができる。
ta-toolのDataXエンジンを使用すると、次のデータ同期を完了できます
- 他のデータベースのデータをTEクラスタにインポートするには、DataXの既存のReaderプラグインとTE Writer
- TEクラスタのデータを他のデータベースにエクスポートするには、TE Readerと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。TEクラスターのDataXプラグインの説明
# 3.1クラスタ内で使用されるプラグイン
タイプ | データソース | Reader(読む) | ライター | ドキュメント |
---|---|---|---|---|
TE システム | TE | √ | √ | 読む 、 書く |
カスタムテーブル | TE | √ | 書く | |
jsonテキスト | TE | √ | 書く |
# 3.2クラスタ外で使用されるプラグイン
タイプ | データソース | Reader(読む) | ライター | ドキュメント |
---|---|---|---|---|
TE システム | TE | √ | 書く |
# 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 | √ | √ | 読む 、 書く |