【Talend目的別howto】02MySQLのテーブルを読み込んでログ出力する処理を作る
MySQLのテーブルを読み込んでコンソールに出力する処理を構築してみましょう。
1.データベースの準備
まずデータベースの準備をしましょう。
1)テスト用データベース、テーブルの作成
MySQLにはサンプル用のデータベースが予め用意されていますが、項目数やデータの行数が多いのでちょっと確認が大変です。
古くからのOracleではお馴染みのscottスキーマのempテーブルを再現して使用することにします。
以下のSQLをコピペして実行してください。
CREATE DATABASE SCOTT; USE SCOTT; |
2)テスト用テーブルの作成
CREATE TABLE EMP (EMPNO DECIMAL(4) , ENAME varchar(10), JOB varchar(9), MGR DECIMAL(4), HIREDATE DATE, SAL DECIMAL(7,2), COMM DECIMAL(7,2), DEPTNO DECIMAL(2) ); INSERT INTO EMP VALUES |
これで今回必要なテーブルが準備できました。
スポンサードサーチ
2.ジョブを作成する
Talendを起動してリポジトリから「ジョブ」を右クリックして「ジョブの作成」をクリックします。
新規ジョブのダイアログが表示されますので「名前」「目的」「説明」を入力して「Finish」をクリックします。
スポンサードサーチ
3.コンポーネントの配置
1)CSV読み込みのコンポーネント配置「tDBInput」
①「tDBInput」の配置
DB(Table)を読み込むコンポーネントは「tDBInput」を使います。
「コンポーネントパレット」→「データベース」→「DB Specifics」より「tMysqlInput」をデザインワークスペースにドロップします。
この時実際にドロップされるコンポーネントは「tDBInput」で、実体はMySQLで初期設定された「tDBInput」です。
②「tDBInput」の設定
①配置したコンポーネント「tDBInput」をクリックします。
②「コンポーネント」タブをクリックします。
③「基本設定」をクリックします。
④コンポーネントのプロパティを入力していきます。
■コンポーネントの設定値
【基本設定】 ●DataBase :MySQL ●DBバージョン :”,” ●ホスト :"localhost" ●ポート :”3306” ●データベース :”scott” ●ユーザー名 :"root" ●パスワード :”パスワードを入力”(右にある「…」ボタンを押してクォーテーションで 囲う事 ●テーブル名 :"emp" ●クエリ :"select * from emp"【詳細設定】 ●パラメータ :"noDatetimeStringSync=true&serverTimezone=JST&useSSL=false&allowPublicKeyRetrieval=true" (初期値のままだとTimeZoneやSSLでエラーとなる) |
次にスキーマ定義を行います。
スキーマの編集の隣にあるボタンをクリックします。
スキーマの編集ダイアログが開きますので以下のようにテーブル定義を入力していきます。
「+」ボタンで行が追加できます。
いちいち手で打ち込むのは大変です。
実際のテーブルから定義を取り込む方法もあります。
後日記事にしたいと思います。
4.実行する
「実行(ジョブ Lesson02)」→「実行」をクリックするとコンパイル後に実行されます。
正常に処理されテーブルの内容が出力されました。