본문 바로가기

Data&Processing

[talend] MetaData, Context활용



  • Metadata

우선 개발 편의를 생각한다면 MetaData활용은 필수라고 보여집니다. 관리적인 입장에서도 필요하기도 하고.

Repository Tab에 Metadata를 보시면

DB Connections, File 관련 여러개(이건 잘 안쓰니 패쓰!), LDAP(?), Salesforce, Generic Schemas 등이 있는데요.

일반적인 DB Table구조의 경우에는 DBConnection 에서 retrieve schema 메뉴를 통해서 가져올 수 있습니다.

SalesForce 는 salesforce Object의 schema 구조를 가져오면 해당 폴더밑에 생기구요.

Generic schemas는 DB에서 가져오지 않고 개발자가 임의로 만든 schema를 저장하는 곳입니다.

table형태가 아닌 procedure라던가 공통으로/자주 사용될 schema 의 경우에 만듭니다.


실제 개발시에는 dbconnection이나 schema에서 "built-in" 대신에 "repository"를 선택해서 metadata에 저장된 정보를 불러옵니다. metadata가 변경시에는 자동으로 변경사항을 전파할 수도 있구요.


  • Context

Talend metadata 외에 ETL을 구성하다보면 ETL에서 사용되는 변수들에 대해서 공통적으로 관리될 필요가 있을때 사용할 수 있습니다.

jobMeta 같은 이름으로 context 이름을 만들어 job이름, job설명, Cycle, 실행일 등을 관리하는데 이용.


  • DBConnections + Context

talend 에서는 DB Connection을 Context로 자동으로 생성시켜줍니다.




DBconnection을 만드는 마지막에 위와같은 화면이 나오는데, 여기서 "Export as context"를 누르게 되면 Database Connection명과 동일한 Context가 생성되며 안에 변수로는 login, password, port 등 DB접속정보 관련 변수가 생기게 됩니다.

그리고 이 Context를 외부파일에서 입력하게 되면 암호를 talend source에 남기지 않고 암호나 db접속정보 변경, 보안관련해서 유연하게 대응할 수 있게 됩니다.

외부에서 context입력하는 구성은 다음에 다루도록 하겠습니다.