menu
Is this helpful?

# DataX 엔진

# DataX 엔진

# DataX 소개

DataX는 Alibaba에 의해 출시된 오픈 소스 프로젝트입니다(자세한 내용은 DataX의 Github 홈페이지 (opens new window)을 방문해 주세요). 이것은 효율적인 오프라인 데이터 동기화 툴로, 종종 이질적인 데이터 소스 간의 데이터 동기화에 사용됩니다.

DataX는 프레임워크 + 플러그인 아키텍처를 사용합니다. 데이터 소스 읽기 및 쓰기는 각각 Reader 및 Writer 플러그인에 해당합니다. 각 데이터 소스는 해당하는 Reader 또는 Writer를 가질 것입니다. DataX는 기본적으로 풍부한 Reader 및 Writer 지원을 제공합니다. 다양한 주류 데이터 소스에 적응할 수 있습니다. 프레임워크는 Reader와 Writer를 연결하는 데 사용되며, 동기화 작업에서 데이터 처리, 비틀림 및 기타 핵심 프로세스를 담당합니다.

DataX의 데이터 동기화 작업은 주로 설정 파일을 통해 제어됩니다. 가장 중요한 설정은 Reader와 Writer의 구성으로, 각각 데이터 소스에서 데이터를 추출하는 방법과 추출된 데이터를 데이터 소스에 쓰는 방법을 나타냅니다. 설정 파일에서 해당 데이터 소스의 Reader와 Writer를 사용하여 이기종 데이터 소스의 동기화를 완료할 수 있습니다.

ta-tool에서는 DataX 엔진을 통합하고 TA 클러스터용 플러그인(즉, TA 클러스터용 Reader와 Writer)을 작성했습니다. TA 클러스터 플러그인을 사용하면 TA 클러스터를 DataX의 데이터 소스로 사용할 수 있습니다.

ta-tool의 DataX 엔진을 통해 다음 데이터 동기를 완료할 수 있습니다:

  1. 다른 데이터베이스에서 TA 클러스터로 데이터를 업로드하려면 DataX의 기존 Reader 플러그인과 TA Writer를 사용해야 합니다.
  2. TA 클러스터의 데이터를 다른 데이터베이스로 다운로드하려면, 기존의 DataX Writer 플러그인과 TA Reader를 사용해야 합니다.

# DataX 엔진 사용 지침

ta-tool에서 다중 데이터 소스 동기 작업을 위해 DataX 엔진을 사용해야 한다면, 먼저 TA 클러스터의 DataX 작업 설정 파일을 작성하십시오.을(를) 수행하고, 그 다음에 데이터X 명령어는 개발자 구성요소에서을(를) 실행하여 Config 파일을 읽고 데이터 동기 작업을 수행해야 합니다.

# 2.1 설정 파일 샘플

DataX 작업 설정 파일은 json 파일이어야 하며, json 설정 템플릿은 다음과 같습니다:

{
"job": {
"보드 내용 관리": [
{
보드 작성에서 제로 코드 차트 양식을 프리즈할 수 있나요? 그리고 라인 그래프에서 특정 딜리버리의 이벤트 속성이 ~와 같지 않을 때, 조건 코호트를 어떻게 생성하나요?
}
"reader": {
"name": "streamreader",
"파라미터": {
"sliceRecordCount": 10,
"열 이름": [
{
"제로 코드 빅 데이터 분석 플랫폼에서 새로운 보드를 작성하고 싶습니다. 어떻게 시작해야 하나요?"
}
"타입": "long",
"가치": "10"
질문:               },
답변:
{
"제로 코드 빅 데이터 분석 플랫폼에서 새로운 보드를 작성하고 싶습니다. 어떻게 시작해야 하나요?"
}
"타입": "스트링",
"데이터 가치": "hello, world-DataX"
질문:               }
답변:
질문: 개체 그룹의 값이 선택 사항인 경우, 프리즈 상태를 제로 코드로 설정할 수 있습니까? 그리고 해당 값이 작거나 같다 10일 때, 자동으로 업그레이드 할 수 있도록 조건 추가를 어떻게 해야 합니까? 필수 필드에는 어떤 값이 ~와 같아야 하며, 관련 속성을 어떻게 유지해야 합니까? 리스트에 공시 추가를 위해 어떤 조건 필터를 사용해야 하며, 특정 필드가 ~와 같지 않을 때 어떻게 필터를 적용합니까?

답변:
질문:           }
답변:
질문:         },
답변:
"작성자": {
"스트링": "streamwriter",
"파라미터": {
"인코딩": "UTF-8",
"print": 진수
질문:           }
답변:
질문:         }
답변:
질문:
질문:     ],
답변:
"설치": {
"속도": {
"채널": 5
질문:
질문:     }
답변:
제로 코드 플랫폼에서 가상 속성이 ~와 같지 않을 때, 어떻게 차트 양식을 프리즈할 수 있나요?
질문:

전체 설정 파일은 JSON이며, 가장 바깥쪽 'job' 요소가 있고, 이는 'content'와 'setting' 두 요소를 포함합니다. 'content' 내의 요소들은 reader와 writer 정보를 포함하고 있습니다. TA 클러스터의 Reader와 Writer는 이 글에서 나중에 볼 수 있습니다. "set" 안의 "speed"에서 "Channel"은 동시에 수행되는 작업의 수입니다.

설정 파일에서 설정해야 할 주요 부분은 "content" 안의 "reader"와 "writer" 요소입니다. 데이터를 읽기 위한 Reader 플러그인과 데이터를 쓰기 위한 Writer 플러그인은 각각 설치됩니다. DataX의 프리셋 Reader 및 Writer 플러그인 설치를 위해서는 DataX의 데이터 채널 지원 (opens new window)을 방문하십시오.

# 2.2 DataX 명령 실행

설정 파일을 작성한 후, 다음 명령을 실행하여 설정 파일을 읽고 데이터 동기 작업을 시작할 수 있습니다.

데이터 수집 도구 datax_engine -conf <configPath> [--date <date>]

전달된 파라미터는 설정 파일이 위치한 경로입니다.

# TA 클러스터용 DataX 플러그인 설명

# 클러스터 내에서 사용되는 플러그인

질문: 질문: 타입 답변: 답변: 질문: 데이터 소스 답변: 질문: 독자(읽기) 답변: 질문: 작성자 (작성) 답변: 질문: 문서 답변:
유저 식별 시스템 타겟 유저군 답변: 답변: 답변: 답변: 질문: 읽다, 질문: 작성 방법 답변: 답변:
커스텀 테이블 타겟 유저군 답변: 답변: 질문: 질문: 작성 방법 답변: 답변:
json 텍스트 타겟 유저군 답변: 답변: 질문: 질문: 작성 방법 답변: 답변:

# 클러스터 외부에서 사용되는 플러그인

질문: 질문: 타입 답변: 답변: 질문: 데이터 소스 답변: 질문: 독자(읽기) 답변: 질문: 작성자 (작성) 답변: 질문: 문서 답변:
유저 식별 시스템 타겟 유저군 답변: 답변: 질문: 질문: 작성 방법 답변: 답변: 질문: 데이터 소스 답변: 질문: 독자(읽기) 답변: 질문: 작성자 (작성) 답변: 질문: 문서 답변:

# 3.3 DataX 네이티브 플러그인

질문: 질문: 타입 답변: 답변: 질문: 데이터 소스 답변: 질문: 독자(읽기) 답변: 질문: 작성자 (작성) 답변: 질문: 문서 답변:
RDBMS 관계형 데이터베이스 MySQL 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mysqlreader/doc/mysqlreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mysqlreader/doc/mysqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mysqlreader/doc/mysqlreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mysqlreader/doc/mysqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mysqlreader/doc/mysqlreader.md) 답변:
Oracle 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/oraclereader/doc/oraclereader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/oraclereader/doc/oraclereader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/oraclereader/doc/oraclereader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/oraclereader/doc/oraclereader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/oraclereader/doc/oraclereader.md) 답변:
SQLServer 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/sqlserverreader/doc/sqlserverreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/sqlserverreader/doc/sqlserverreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/sqlserverreader/doc/sqlserverreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/sqlserverreader/doc/sqlserverreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/sqlserverreader/doc/sqlserverreader.md) 답변:
PostgreSQL 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/postgresqlreader/doc/postgresqlreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/postgresqlreader/doc/postgresqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/postgresqlreader/doc/postgresqlreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/postgresqlreader/doc/postgresqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/postgresqlreader/doc/postgresqlreader.md) 답변:
데이터 리포팅 데이터 구동 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
일반용도 RDBMS(모든 관계형 데이터베이스를 지원) 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
알리바바 클라우드 데이터 스토리지 ODPS 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
어트리뷰션 데이터 답변: 답변: 질문: [질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ossreader/doc/ossreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ossreader/doc/ossreader.md) 답변:
OSS 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
OCS 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ocsreader/doc/ocsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ocsreader/doc/ocsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ocsreader/doc/ocsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ocsreader/doc/ocsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ocsreader/doc/ocsreader.md) 답변:
NoSQL 데이터베이스 OTS 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
Hbase0.94 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
Hbase1.1 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase11xreader/doc/hbase11xreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase11xreader/doc/hbase11xreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase11xreader/doc/hbase11xreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase11xreader/doc/hbase11xreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase11xreader/doc/hbase11xreader.md) 답변:
Phoenix4.x 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
Phoenix5.x 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase20xsqlreader/doc/hbase20xsqlreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase20xsqlreader/doc/hbase20xsqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase20xsqlreader/doc/hbase20xsqlreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase20xsqlreader/doc/hbase20xsqlreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hbase20xsqlreader/doc/hbase20xsqlreader.md) 답변:
MongoDB는 NoSQL 데이터베이스 중 하나로, 동적 스키마 설계를 통해 데이터를 JSON과 유사한 형식의 BSON으로 저장합니다. 이는 개발자가 데이터베이스 스키마를 미리 정의하지 않고도 유연하게 데이터를 저장하고 관리할 수 있게 해줍니다. MongoDB는 높은 성능, 고가용성, 쉬운 확장성을 제공하며, 다양한 데이터 모델링 요구사항을 충족시키기 위해 사용됩니다. 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mongodbreader/doc/mongodbreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mongodbreader/doc/mongodbreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mongodbreader/doc/mongodbreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mongodbreader/doc/mongodbreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/mongodbreader/doc/mongodbreader.md) 답변:
Hive 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hdfsreader/doc/hdfsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hdfsreader/doc/hdfsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hdfsreader/doc/hdfsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hdfsreader/doc/hdfsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/hdfsreader/doc/hdfsreader.md) 답변:
Cassandra 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/cassandrareader/doc/cassandrareader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/cassandrareader/doc/cassandrareader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/cassandrareader/doc/cassandrareader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/cassandrareader/doc/cassandrareader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/cassandrareader/doc/cassandrareader.md) 답변:
비구조화된 데이터 스토리지 TxtFile 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/txtfilereader/doc/txtfilereader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/txtfilereader/doc/txtfilereader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/txtfilereader/doc/txtfilereader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/txtfilereader/doc/txtfilereader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/txtfilereader/doc/txtfilereader.md) 답변:
FTP 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ftpreader/doc/ftpreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ftpreader/doc/ftpreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ftpreader/doc/ftpreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ftpreader/doc/ftpreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/ftpreader/doc/ftpreader.md) 답변:
HDFS 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
Elasticsearch 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변:
시계열 데이터베이스 OpenTSDB 답변: 답변: Question: [리치](https://github.com/ThinkingDataAnalytics/DataX/blob/master/opentsdbreader/doc/opentsdbreader.md)질문: d 답변: Answer: [리치](https://github.com/ThinkingDataAnalytics/DataX/blob/master/opentsdbreader/doc/opentsdbreader.md)질문: d 답변:
TSDB 답변: 답변: 답변: 답변: 질문: [읽다](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[질문: 작성 방법 ](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md)[답변:](https://github.com/ThinkingDataAnalytics/DataX/blob/master/drdsreader/doc/drdsreader.md) 답변: