SlideShare a Scribd company logo
1 of 50
© 2019 QlikTech International AB. All rights reserved.
ファイルの
ソース・ターゲットエンドポイント
としての利用
クリックテック・ジャパン株式会社
© 2019 QlikTech International AB. All rights reserved.
2
Using a file as a
source
3
ファイルのソースとしての利用
このセクションでは、レプリケーションタスクのソースとして区切りテキスト ファイルを設定、使用する方法について説明します。File ターゲット
エンドポイントを使用してデータベース テーブルをファイルにエクスポートし、それをFile ソース エンドポイントを持つレプリケート タスクのソー
スとして使用することができます。
4
概要
• ファイルエンドポイントは、ソースとしてもターゲットとしても使用することができます。ソースとして使用する場合、ファイルエンドポイント
は、ソースファイルが区切りテキストファイル形式であることが必要です。ターゲットとして使用する場合、ファイルエンドポイントは、デー
タファイルを区切りテキストファイル形式(CSV)またはJSON形式で生成します。
• 区切り記号付きテキストファイルは、表形式でデータを保存する場合に使用します。区切り文字ファイルには、CSV形式やTSV形
式などがあります。組織によっては、データベースから区切りテキストファイルにデータをエクスポートする手順を導入している場合もあ
りますし、単に表形式のデータを保存するのに便利なフォーマットとして好んで使用している場合もあります。
• 区切りテキストファイルでは、テーブルの各レコードがそれぞれ一つの行に保存されます。区切り文字は、新しい行の始まりや、新し
い列の始まりを示すのに使われます。区切り文字にはほとんどの文字が使用できますが、行の区切りには改行が、列の区切りには
カンマがよく使われます。
• JSONファイルでは、各レコードは1行で表現されます。
5
概要
• JSONデータフォーマットの例
• 以下のテーブル形式のデータは、
• 以下の形で表現されます。
book_id title price is_hardcover
123 Angels 6.99 false
456 The Fallen 6.49 true
789 Rise Up 7.23 true
{ "book_id": 123, "title": "Angels", "price": 6.99, "is_hardcover": false }
{ "book_id": 456, "title": "Fallen", "price": 6.49, "is_hardcover": true }
{ "book_id": 789, "title": "Rise Up", "price": 7.23, "is_hardcover": true }
6
ファイルソースの概要
• Replicateでファイルソースのエンドポイントを設定する際には、CSVソースファイルで使用される行と列の区切り文字、および区切り
文字を含む列を囲むために使用される文字を指定する必要があります。また、二重引用符で囲まれた列をエスケープするための文
字を指定する必要があるかもしれません(そのような列がソースファイルに存在する場合)。もし、以前にReplicateを使って別の
エンドポイントのテーブルをファイルに複製した後、そのファイルを別のタスクのソースとして使用したい場合は、ターゲット・ファイルの生
成に使用したのと同じデリミタを指定する必要があります。
• このエンドポイントでは、以下の3種類の区切りファイルを使用します。 :
• Full load files
• Change files
• Reference files
7
Reference files
• Change Filesは、1つの場所に存在する場合と、複数の場所に存在する場合があります。異なる場所に存在するChange
Filesや、ターゲット テーブル名が含まれていないChange Filesにアクセスするには、Reference Fileを使用する必要があります。
Change File(s) の行に、変更を適用するテーブルの名前が含まれている場合は、Reference FileにはChange Files へのパ
スを含めるだけで済みます。各Change Fileに1つのテーブルに対する変更が含まれている場合は、Reference File内の各変更
ファイルのパスの前に、対応するターゲット テーブルの名前を記述する必要があります。
• Reference File の各行は、以下のようなフォーマットになっています。 :
• [<テーブル名>],<Change Fileのフルパス>
• ここで、[<テーブル名>]は、参照されたChange Fileに1つのテーブルの変更が含まれている場合のみ必要です。
※ Reference File名は70文字を超えてはいけません(パスの長さにはそのような制限はありません)。70文字を超える
Reference File名は無視され、適切な警告がログに書き込まれます。
8
Reference files
• Reference File: 各 Change Fileに、1つのテーブルに対する変更が含まれている場合 :
• table1,c:tempcdc1.csv
• table2,c:tempcdc2.csv
• table3,c:tempcdc3.csv
• Reference File:各 Change Fileに、複数のテーブルに対する変更が含まれている場合 :
• c:tempcdc1.csv
• c:tempcdc2.csv
• c:tempcdc3.csv
9
Full load files
• Full Load Filesは、空のソーステーブルにデータを入力するために使用されます。Full Load Filesには、テーブルデータのみを含
める必要があります。ソーステーブル自体は、File ソースエンドポイントの構成時にExternal Table Editorを使用して作成します。
テーブルとそのデータは、レプリケートタスクのフルロードステージでターゲットエンドポイントにレプリケートされます。
• Full Load Fileの例
• 22,January,2014,male,5463565
• 12,May,2011,female,3236776
• 9,March,2009,male,9648675
10
Change files
• Change Fileは、指定されたターゲット・テーブルに適用するためのDML変更の記録(行として表される)を含む区切りテキスト・
ファイルです。Replicateは、Change Fileを読み込んで、その変更を関連するターゲット・テーブルに適用します。ターゲット・テーブ
ルは、Change Fileで指定されているか、Reference Fileで指定されているかのいずれかです。Change Filesは、変更日に応
じてソース・ディレクトリからピックアップされるので、変更が適切な順序で処理されることが保証されます。
※ Change Fileの修正日は、タスク開始のタイムスタンプよりも新しく、かつ最後に処理されたChange Fileよりも新しくなけれ
ばなりません。
• Change Fileの各行は、以下のような区切りのある列で構成されています。 :
• (任意) 変更操作(例:DELETE)。このフィールドがされない場合は、全てINSERT と見なされます。
• 変更を適用する対象テーブルの名前(Change Fileに複数のテーブルの変更が含まれている場合のみ必要です。
• (任意) 変更のタイムスタンプ (変更が発生した日時)
• (任意) 変更を適用したユーザー
• 変更されたデータ(1つまたは複数の列)
11
Change files
• Change Filesには、以下の例のように、複数のテーブルの変更を含めることも、1つのテーブルの変更を含めることもできます。
• Change Fileに、複数のテーブルに対する変更が含まれている場合
• INSERT,table1,ts1,user,dog,cat,bird
• INSERT,table2,ts1,user,dog,cat,bird
• DELETE,table3,ts1,user,dog,cat,bird
• Change Fileに、1つのテーブルに対する変更が含まれている場合
• INSERT,,ts1,user,dog,cat,bird
• INSERT,,ts1,user,dog,cat,bird
• DELETE,,ts1,user,dog,cat,bird
※ 異なる場所に存在するChange Filesや、ターゲットテーブル名が含まれていないChange Filesにアクセスするには、Reference Fileを使用する必
要があります。Reference Fileの詳細については、「Reference File」のページを参照してください。
※ Change Fileの名前は、70文字を超えることはできません(パスの長さにはそのような制限はありません)。70文字を超えるChange File名は無
視され、適切な警告がログに書き込まれます。
12
前提条件
• Qlik Replicateでファイルをソースとして使用する前に、以下の前提条件が満たされていることを確認してください。
• ネットワーク内に Qlik Replicate がインストールされていること
• Change Files, Full Load files, Reference Files は区切り文字テキストファイル形式であること
• ソースファイル(Reference Fileを含む)は、Qlik Replicateのマシンからアクセスできること
13
制限事項
• Fileソースには以下の制限事項があります。:
• レプリケーションタスクで使用されているChange Filesは、タスクの進行中は変更できません。
• フルロードタスクを停止してから再度起動すると、タスクが(停止した時点ではなく)最初から開始されます。
• Reload from timestampオプションはサポートされていません。
• 変更処理中のテーブルのリロードはサポートされていません。
14
Qlik Replicateでの
エンドポイント定義
15
一般的な接続プロパティの設定
File ソース エンドポイントをQlik Replicateに追加するには、次の手順を実行します。
1. Qlik Replicate コンソールで、[Manage Endpoint Connections]をクリックして、[Manage Endpoint Connections]ダイアログボックスを開き
ます。次に、「New Endpoint Connection」ボタンをクリックします。Qlik Replicateにエンドポイントを追加する方法については、「 Defining and
managing endpoints 」を参照してください。
2. Nameフィールドに、エンドポイントの名前を入力します。この名前は、エンドポイントを識別するのに役立つものであれば何でも構いません。
3. Descriptionフィールドには、エンドポイントを識別するのに役立つ説明を入力します。これは任意の設定項目です。
4. Roleにて、[Source] を選択します。
5. TypeのリストからFile を選択します。
• このエンドポイントがLog Stream Stagingの設定で重複したソースとして使用されている場合、「Read changes from log stream」チェッ
クボックスを選択し、ドロップダウンリストから関連するLog Stream Stagingタスクを選択します。
• ログストリームのステージングタスクの設定と管理については、「 Using the Log Stream 」を参照してください。
16
一般的な接続プロパティの設定
6. General タブにて以下の設定を行います。
• File Format
• Field Delimiter : ソースファイルのカラムを区切るのに使用される区切り文字です。デフォルトはカンマです。
• Record delimiter : ソースファイルのレコード(行)を区切るためのデリミタです。デフォルトではキャリッジリターン(n)です。
• Null value : ソースファイルでNULL値を示すのに使われる文字。
• Quote character : 列の最初と最後に使われる文字で、列の区切り文字を含みます。デフォルトはダブルクオート文字(")です。カラムデリミ
タを含むカラムをダブルクオートで囲むと、カラムデリミタ文字はカラムデリミタとしてではなく、実際のデータとして解釈されます。
• 例 (コンマがカラムデリミタとして設定されているとき): "sunroof, power-steering"
• Escape character : 文字列とその文字列を含む列の両方が引用符(クオーテーション)で囲まれている場合に、文字列をエスケープするため
に使用される文字です。文字列の引用符(クオーテーション)は、エスケープされない限り削除されることに注意してください。
• 例 ( “ が引用符として、  がescape characterとして設定されているとき): 1955,"old, "rare", Chevrolet",$1000
• Code page: ソースファイルのコードページがデフォルト(65001)と異なる場合は、コードページを指定します。
※ WindowsとLinuxでは、コードページの規則が異なります。指定するコードページは、ソースファイルシステムのコードページ規約に準拠する必要
があります。
• Ignore records : 任意で、無視するソースファイルのヘッダーとフッターの行を指定します。無視するヘッダとフッタの行に実際のデータが含まれていな
いことに注意してください。
※ 指定された数値は、Full Loadタスクでのみ無視されるヘッダーとフッターです。
17
一般的な接続プロパティの設定
6. General タブにて以下の設定を行います。
• Change Processing
※ Full Load中に存在する Change Files から変更を取り込むことはできません。そのため、 Change Files はフルロードが完了してから、指定した場所に配
置する必要があります。
• Folder : Change Filesに対象となるテーブル名が含まれていて、1つのフォルダに存在する場合は、このオプションを選択します。次に、指定されたフィ
ールドにフォルダの場所を指定します。オプションでワイルドカード文字を使用して、指定したパターンに一致するファイルのみを処理することができます。
• Example: c:temp*changes.CSV
• Use Reference Files :Reference Filesを使ってChange Filesの場所を示す場合は、このオプションを選択します。次に、以下のいずれかを指
定します。:
• 複数のReference Filesへのパス
• 特定のReference Fileへのパス
• Reference File名にマッチするワイルドカードパターンのパス(例:C:Reference Files*.csv)。
• フォルダーには、単一のReference File(Change Fileの場所が継続的に追加される)、または複数のReference Fileを含めることができ
ます。
• Change File Path is preceded by table name : Reference filesの各Change Fileパスの前にテーブル名がある場合、このオプションを選
択します。
※ このオプションを選択すると、[Header columns ordinal position]セクションの[Table name]チェックボックスが無効になります。
18
一般的な接続プロパティの設定
6. General タブにて以下の設定を行います。
• Change Processing
• Header Column Order: Change Filesの各ヘッダー列の位置を指定します。ヘッダー列の後に配置するデータ列を除き、各列は任意の順
序で配置することができます。
• 例えば、Change Filesが以下のようになっている場合:
• DELETE,table1,timestamp,user1,dog,cat,bird
• カラム順序は以下のように設定します。:
• Operations are in column: 1
• Table names are in column: 2
• Timestamps are in column: 3
• User names are in column: 4
• Start data from column: 5
• Start data from column: 実際のデータをどの列から開始するかを指定します。データ列はヘッダー列の後に配置する必要があることに注意
してください。上記のHeader column Orderフィールドの説明にある例を参照してください。
19
ユーザー名とタイムスタンプの列順の変更
• User name "列と "Timestamp"列の序列を変更するには、まず、$AR_H_TIMESTAMPと$AR_H_USERヘッダー列をChange Filesに追加
する2つの変換(各列に1つずつ)を定義する必要があります。
• 単一のテーブル(Change Fileなど)にカラムを追加する場合:
1. Table Settings ウィンドウを開きます。(参考: Defining transformations for a single table/view. )
2. Transform タブを選択し、Add Columnを選択します。新しい行がOutputテーブルに追加されます。
3. 行の一番下にあるfxボタンをクリックします (Expression カラム内)。 Expression Builder ウィンドウが開きます。
4. Header Columns タブからカラムを選択し、OKを選択します。
5. コラム名を指定します。例えば、 $AR_H_TIMESTAMPヘッダーカラムを選択した場合は、”Timestamp”を指定します。
6. その他のヘッダーカラムを追加するために、ステップ 1-5 を繰り返します。
7. OK を選択し、Table Settings ウィンドウを閉じます。
• すべてのテーブル(例:Change Files)にヘッダー列を追加するには:
1. Global Transformation ウィンドウを開きます。 (Starting the Global Transformation Rules wizard )
2. Next を2回クリックし、 How to transform 画面を開きます。
3. Computation expression の横の Browse ボタンを選択します。 Expression Builder ウィンドウを開きます。
4. Header Columns でカラムを選択し、OKを選択します。
5. コラム名を指定します。例えば、 $AR_H_TIMESTAMPヘッダーカラムを選択した場合は、”Timestamp”を指定します。
6. Finishを選択します。
7. その他のヘッダーカラムを追加するために、ステップ 1-6 を繰り返します。
20
テーブルとフルロードデータの定義
• エンドポイント設定のTables タブでは、Full Load データ ファイルの場所を指定し、ソース テーブルの作成方法を定義します。フルロードの際、レプリケート
はソーステーブルをターゲットエンドポイントにコピーします。
• テーブルを定義するには :
1. Tables タブで、 New Tableを選択します。New Source Table ウィンドウが開きます。
2. Table name フィールドでテーブル名を指定します。
3. Location of full load data file(s) フィールドでは、フルロードデータを含む区切りテキストファイルの場所を指定します。ワイルドカード文字にも
対応しています。
4. フィールドを追加するためには、 Add Fieldを選択します。そして、デフォルトのカラム名を選択して名前を編集します。
5. データタイプを指定するには、指定したい行を選択しTypeカラムのドロップダウンリストからデータ型を選択します。
6. (任意) Key 項目をクリックして、Unique Indexを指定または解除できます。
7. テーブルを作成するには、 OKを選択します。Tableタブのテーブルリストに作成したテーブルが追加されます。
• テーブルの各操作
• フィールドの編集: New/Edit Source Table ダイアログボックスで列をダブルクリックし、前ページの手順のように値を編集します。
• フィールドの削除: New/Edit Source Tableダイアログボックスで列を選択し、[Delete Field]ボタンをクリックします。
• フィールドの位置(順序)の変更: フィールドを選択し、必要に応じて「Up/Down」、「Move to Top/Move to Bottom」ボタンをクリックします。
• テーブルの編集: Tablesタブで、テーブルをダブルクリックするか、テーブルを選択してから「Edit」ボタンをクリックします。前ページの手順のようにテーブ
ルを編集します。
• テーブルの削除: Tablesタブで、テーブルを選択し、「Delete」ボタンをクリックします。
21
テーブルとフルロードデータの定義
• テーブルの作成
• ソーステーブルの定義は、Full Loadファイルの列データ値と一致している必要があります。例えば、Full Loadデータファイルに以下のような区切りのある
列が含まれている場合、テーブルの定義は右図のようになります。:
• 22,January,2014,male,5463565
• 12,May,2011,female,3236776
• 9,March,2009,male,9648675
• 30,June,2002,female,3458795
※ Boolean (ブール値)は、1(TRUE)または0(FALSE)という数字で表さなければならず、TRUEやFALSEは使用できません。
22
高度な接続プロパティの設定
[Advanced ] タブでは、次のプロパティを設定できます。
• File preprocessing command
• これまでの説明の通り、ソースファイルは区切りテキスト形式のである必要があります。ソースファイル(Full Loadおよび/またはChange Files)が区
切りテキスト形式でない場合に、独自のプログラムを使用して必要な形式に変換することができます。
• フルロードタスクが開始される前に、フルロードデータファイルの場所でプログラムが実行されます。その後、変更処理時には、変更ファイルの場所で指定
されたファイルに対して実行されます。
• コマンドは以下の例のように指定します。 :
• c:tempfilesconvertfile.exe
※ パスは、変換プログラムの場所がシステム変数の”Path”で定義されていない場合にのみ必要です。
23
高度な接続プロパティの設定
[Advanced ] タブでは、次のプロパティを設定できます。
• Check for changes every (sec)
• Change Fileの更新をチェックする頻度を秒単位で指定します。
• Change Processing Cleanup
• 次のクリーンアップオプションのいずれかを選択して、Replicateが処理されたChange Files/Reference Filesをどのように処理するかを決定します。
• Do nothing – ファイルはオリジナルの場所に残されます。
• Delete files – ファイルはディスクから削除されます。
• Archive files to folder – 指定した場所にファイルがアーカイブされます。
※ Reference Filesの場合、「Delete files」と「Archive files to folder」の操作は、Reference Fileが複数ある場合にのみ行われます。
24
ファイル前処理コマンドの設定
• 用意した前処理コマンドのプログラムは、それぞれの入力ファイルに対して実行され、以下のパラメータを受け取ります。 :
• 入力ファイルの場所(フルロードデータのファイルパスとChange Fileのパス)
• 出力ファイルのフルパス
• 出力ファイルは以下の場所に書き込まれます。 :
• <Replicateのインストールフォルダ>datatasks<タスク名>trans_filesOUTPUT_FILE_NAME(s)
• OUTPUT_FILE_NAME(s) は用意するプログラムで指定します。
25
ファイル前処理コマンドの設定
• 例: 以下を前提とします。:
• フルロードデータファイルの場所には以下のファイルがあります。:
• c:tempfltable1.csv
• c:tempfltable2.csv
• Change Fileの場所には以下のファイルがあります。 :
• c:tempcdctable1.txt
• c:tempcdctable2.txt
• File preprocessing commandフィールドに以下のプログラムを指定します。 :
• c:tempconvertfile.exe
• 「Full Load」と「Apply Changes」の両方のレプリケーションオプションが有効になっています。
• 上記のシナリオでは、Replicateは以下の順で前処理コマンドを実行します。:
• Full Load が開始される前:
• c:tempconvertfile.exe c:tempfltable1.csv <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable1.csv
• c:tempconvertfile.exe c:tempfltable2.csv <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable2.csv
• Change Processing の実行中:
• c:tempconvertfile.exe c:tempcdctable1.txt <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable1.txt
• C:tempconvertfile.exe c:tempcdctable2.txt <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable2.txt
26
高度な接続プロパティの設定
• Internal parameters:
• 内部パラメータは、UIで公開されていないパラメータです。Qlikサポートの指示があった場合のみ使用してください。
• internal Qlik Replicate parametersを追加するには:
• Internal Parameters リンクをクリックします。
• Internal Parameters ダイアログボックスが開きます。
• 編集ボックスで、 追加するパラメータの名前を入力し、クリックします。
• 検索ボックスの下のテーブルに、パラメータがデフォルト値で追加されます。
• 必要に応じてデフォルト値を変更します。
• パラメータの値をデフォルトに戻すには、行の最後にある「Restore default value」アイコンをクリックします。
• More Options
• これらのオプションは、特定のバージョンや環境にのみ関連するため、UIには表示されません。したがって、Qlikサポートや製品マニュアルで明示的に
指示されていない限り、これらのオプションを設定しないでください。
• オプションを設定するには、オプションを「Add feature name」フィールドにコピーして「Add」をクリックします。その後、受け取った指示に従ってオプシ
ョンの値を設定したり、有効にしたりします。
• Settings summary
• 「Setting Summary 」リンクをクリックすると、設定の概要を表示することができます。この機能は、Qlikサポートに設定の概要を送信する必要があ
る場合に便利です。
27
Using a file as a
target
28
ファイルのターゲットとしての利用
このセクションでは、レプリケーション タスクのターゲットとしての区切りテキスト ファイルの設定と使用方法について説明します。File ターゲッ
ト エンドポイントを使用してデータベース テーブルをファイルにエクスポートし、ファイル ソース エンドポイントを持つレプリケート タスクのソー
スとして使用することができます。
29
概要
• ファイルエンドポイントは、ソースとしてもターゲットとしても使用することができます。ソースとして使用する場合、ファイルエンドポイント
は、ソースファイルが区切りテキストファイル形式であることが必要です。ターゲットとして使用する場合、ファイルエンドポイントは、デー
タファイルを区切りテキストファイル形式(CSV)またはJSON形式で生成します。
• 区切り記号付きテキストファイルは、表形式でデータを保存する場合に使用します。区切り文字ファイルには、CSV形式やTSV形
式などがあります。組織によっては、データベースから区切りテキストファイルにデータをエクスポートする手順を導入している場合もあ
りますし、単に表形式のデータを保存するのに便利なフォーマットとして好んで使用している場合もあります。
• 区切りテキストファイルでは、テーブルの各レコードがそれぞれ一つの行に保存されます。区切り文字は、新しい行の始まりや、新し
い列の始まりを示すのに使われます。区切り文字にはほとんどの文字が使用できますが、行の区切りには改行が、列の区切りには
カンマがよく使われます。
• JSONファイルでは、各レコードは1行で表現されます。
30
概要
• JSONデータフォーマットの例
• 以下のテーブル形式のデータは、
• 以下の形で表現されます。
book_id title price is_hardcover
123 Angels 6.99 false
456 The Fallen 6.49 true
789 Rise Up 7.23 true
{ "book_id": 123, "title": "Angels", "price": 6.99, "is_hardcover": false }
{ "book_id": 456, "title": "Fallen", "price": 6.49, "is_hardcover": true }
{ "book_id": 789, "title": "Rise Up", "price": 7.23, "is_hardcover": true }
31
ファイルターゲットの概要
• ReplicateタスクでFileをターゲットとして使用する場合、Full LoadとCDCデータの両方がCSVファイルまたはJSONファイルに書き込まれます(エンドポ
イントの設定によります)。このトピックではCSVファイルに関する説明をしていますが、JSONファイルについても同様です。
• Full Load ファイルは LOAD00001.csv, LOAD00002.csv などのように増分カウンタを用いて命名され、Apply Changes ファイルは
20141029-1134010000.csv などのようにタイムスタンプを用いて命名されます。
※ Parallel Loadを使用する場合、Full Loadファイルの命名規則が若干異なります。 :
※ LOAD_$(セグメントID)_$(増分カウンタ)
※ Example:
※ LOAD_1_00000001 | LOAD_1_00000002 | LOAD_1_00000003 | LOAD_2_00000001 | LOAD_2_00000002
※ Apply ChangesのCSVファイルは、アイドル状態のときは拡張子が.tmpになって表示されます。
※ Create metadata files in the target folder オプションを有効にすると、同じネーミングフォーマットで対応するメタデータファイルが作成されますが、
拡張子は.dfmになります。
• 各ソーステーブルに対して、指定されたターゲットフォルダの下にフォルダが作成されます。すべてのファイル(Full Load、Apply Changes、Metadata
(有効な場合)など)は、FileターゲットのGeneralタブで定義された設定に従って、関連するフォルダに書き込まれます。
• タスクが完了した後、生成されたCSVファイルを使用するファイルソースエンドポイントを持つ別のタスクを定義することができます。
32
DDLハンドリング
• DDL変更がされると、Replicateはデータファイルを閉じ、「Create metadata files in the target folder」オプションが有効な
場合はDFMファイルも作成します。次の変更のバッチが到着すると、Replicateはその変更を含む新しいデータファイルを作成します。
新しいデータファイル用に作成されるDFMファイルは、新しいテーブル構造と一致することに注意してください。
33
制限事項
レプリケートタスクで File ターゲットエンドポイントを使用する場合は、次の制限が適用されます。
• 以下のDDLがサポートされます。: Truncate table, Drop table, Create table, Add Column, Rename Column, Drop Column, Convert
Data Type
• フルLOBモードはサポートされません。
• UPDATE と DELETE はApply Changesモードではサポートされません。
• Batch Optimized Apply モードはサポートされません。
• Target lookup はサポートされません。
• <target folder> パラメータには、特殊文字を含めることはできません。
• Apply Changesの設定で When source table is altered が[Ignore ALTER]に設定されている場合、データファイルは更新されますが、メタデー
タファイルとメタデータヘッダー(定義されている場合)は更新されません。
• ソーススキーマおよびテーブル名にピリオドを含めることはできません。ピリオドが含まれている場合は、global transformation を使用してピリオドを削除/置
換する必要があり、そうしないとデータ損失が発生します。
34
変更データのパーティショニング
• ファイルターゲットへのレプリケーションでは、ソーステーブルのそれぞれについて、指定されたターゲット
ディレクトリの下にディレクトリが作成されます。Change Data Partitioningを有効にすると、対
応するテーブルディレクトリの下に追加のサブディレクトリが作成されます。右の例のように、データと
メタデータ(メタデータオプションが有効な場合)のファイルは、パーティションサブディレクトリに配置
されます。 :
{Target Directory}
{Table_1}
{Partition_1}
Data files
DFM files
{Partition_2}
Data files
DFM files
{Partition_3}
Data files
DFM files
{Table_2}
{Partition_1}
Data files
DFM files
{Partition_2}
Data files
DFM files
{Partition_3}
Data files
DFM files
• パーティションに関する情報は、attrep_cdc_partitionsコントロールテーブルに書き込まれます。
ターゲットフォルダのディレクトリ構造
35
データ型
36
ターゲットデータ型
次のページの表は、Qlik ReplicateのデータタイプからFileターゲットのデータタイプへのデフォルトのマッピングを示しています。データ
タイプのマッピングは、[ Create metadata files in the target folder ]オプションが有効な場合にのみ関連することに注意し
てください。
ソースからマッピングされたデータタイプを表示する方法については、使用しているソースエンドポイントのセクションを参照してください。
Qlik Replicateのデータタイプの詳細については、「Replicate data types」を参照してください。
37
ターゲットデータ型
Qlik Replicate データ型 File ターゲット データ型
DATE DATE
TIME TIME
DATETIME DATETIME
BYTES BYTES (length)
BLOB BLOB
REAL4 REAL4 (7)
REAL8 REAL8 (14)
INT1 INT1 (3)
INT2 INT2 (5)
INT4 INT4 (10)
INT8 INT8 (19)
UINT1 UINT1 (3)
UINT2 UINT2 (5)
UINT4 UINT4 (10)
UINT8 UINT8 (20)
NUMERIC NUMERIC (p,s)
Qlik Replicate データ型 File ターゲット データ型
STRING STRING (Length)
WSTRING STRING (Length)
CLOB CLOB
NCLOB NCLOB
BOOLEAN BOOLEAN (1)
38
Qlik Replicateでの
エンドポイント定義
39
一般的な接続プロパティの設定
File ターゲット エンドポイントをQlik Replicateに追加するには、次の手順を実行します。
1. Qlik Replicate コンソールで、[Manage Endpoint Connections]をクリックして、[Manage Endpoint Connections]ダイ
アログボックスを開きます。次に、「New Endpoint Connection」ボタンをクリックします。Qlik Replicateにエンドポイントを追加
する方法については、「 Defining and managing endpoints 」を参照してください。
2. Nameフィールドに、エンドポイントの名前を入力します。この名前は、エンドポイントを識別するのに役立つものであれば何でも構い
ません。
3. Descriptionフィールドには、エンドポイントを識別するのに役立つ説明を入力します。これは任意の設定項目です。
4. Roleにて、[Target] を選択します。
5. Typeのリストから[File]を選択します。
6. Target folder にて, ターゲットファイルを書き込むフォルダーのフルパスを指定します。
40
一般的な接続プロパティの設定
7. Generalタブで以下の設定を行います。
• Format : ターゲットファイルは、CSV形式またはJSON形式で作成することができます。
※ JSON形式を選択した場合、以下の項目はCSV形式にのみ関連するため、非表示になります。: Field delimiter,
Record delimiter, Null value, Quote character, Escape character, Code page, Add metadata
header.
• Delimitersについて : 区切り文字には、標準的な文字または16進数の値を使用します。ただし、16進数のデリミターを表すには
、"0x "というプレフィックスを使用する必要があります(例:0x01 = SOH)。 Field delimiter 、 Record delimiter 、
Null valueの各フィールドでは、デリミタは16進数の値を連結したものにすることができますが(例:0x0102 = SOHSTX)、
Quote CharacterとEscape characterのフィールドでは、1つの16進数の値にすることしかできません。
※ 16進数の0x00はサポートされていません(0x01~0xFFのみサポートされているということです)。
• Field delimiter : ターゲットファイルのフィールド(列)を区切るために使用されるデリミタ。デフォルトではカンマが使用されます。
• Record delimiter : ターゲットファイルのレコード(行)を区切るために使用されるデリミタです。デフォルトでは、改行(n)です。
• Null value : ターゲットファイルでNULL値を示すために使用される文字列。
• Quote Character : テキスト列の最初と最後に使用される文字です。デフォルトはダブルクオート(")です。カラムデリミタを含むカ
ラムをダブルクオートで囲むと、カラムデリミタ文字はカラムデリミタとしてではなく、実際のデータとして解釈されます。
• Escape character : 実際のデータの中で、引用文字(Quote Character)をエスケープするための文字。
41
一般的な接続プロパティの設定
7. Generalタブで以下の設定を行います。
• Add metadata header : ターゲットストレージのフォーマットが「Text」に設定されている場合、任意でデータファイルにヘッ
ダー行を追加することができます。このヘッダー行には、ソースのカラム名や中間データ(レプリケート)のデータ型を含めることが
できます。
• With column names とWith data typesの両方を選択した場合のヘッダー行を持つターゲットファイルの例 :
• Code page : ターゲットファイルのコードページがデフォルト(65001)と異なる場合は、それを指定します。
※ WindowsとLinuxでは、コードページの規則が異なります。指定するコードページは、ソースファイルシステムのコードペー
ジ規約に準拠する必要があります。
Position:DECIMAL(38,0),Color:VARCHAR(10)
1,"BLUE"
2,"BROWN"
3,"RED"
42
一般的な接続プロパティの設定
7. Generalタブで以下の設定を行います。
• File Attributes
• Maximum file size - ファイルが閉じられる(任意で圧縮される)までの最大ファイルサイズ。この値は、data files と Reference Files
の両方に適用されます。
• Compress files using - 対象となるファイルを圧縮する場合はGZIPを、圧縮しない場合はNONE(デフォルト)を選択します。
• Change Processing
• Consider state idle when no changes have been processed for - アイドル状態と判断するまでの待ち時間を指定します。アイ
ドル状態では、指定されたサイズと時間の条件を満たせば、すでに処理されたデータを使ってファイルに変更を加えることができます(後述)。
• Apply/store changes when:
• File size reaches - アイドル状態の対象ファイルに変更を加えるために必要なデータの最大サイズを指定します。
• Elapsed time reaches - アイドル状態の変更を適用するまでの最大待機時間を指定します。
• Allow a single transaction to be split into multiple files - デフォルトでは、[File size reaches]および[Elapsed time
reaches]フィールドで指定された値にかかわらず、1つのトランザクションは複数のファイルに分割されません。これは、ファイルにトランザクション
の全体を含めることを必要とする組織にとって重要です。ただし、これにより、ファイルサイズが非常に大きくなる可能性があります。たとえば、「
File size reaches 」の値が32MBで、レプリケートが31MBの時点で2GBの新規トランザクションの変更を適用し始めた場合、ターゲット
ファイルは2.031GBで終了します。したがって、「 File size reaches 」と「 Elapsed time reaches 」フィールドの値を守ることが重要
な場合は、このオプションを選択する必要があります(トランザクションを複数のファイルに分割することになっても構いません)。
43
一般的な接続プロパティの設定
7. Generalタブで以下の設定を行います。
• Metadata Files
• Create metadata files in the target folder - このオプションを選択すると、データファイルごとに、指定されたター
ゲットフォルダの下に、拡張子が.dfmの対応するメタデータファイルが作成されます。メタデータファイル(標準的なJSON
形式)には、ソースのエンドポイントタイプ、ソースのテーブル名、データファイルのレコード数など、タスク/データに関する追
加情報が含まれています。
44
高度な接続プロパティの設定
[Advanced] タブでは、Reference file の作成を有効化したり、データの後処理のアクションを設定することができます。
これらのオプションについて、以下に詳しく説明します。
• Generate reference files
• このオプションを選択すると、Apply Changesデータファイルのフルパスを含むReference Fileが生成されます。
※ Reference fileは、「Apply Changes」ファイルの場所のみを指し、「Full Load」ファイルの場所は指しません。
• Reference file folder
• Reference Fileが作成されるReplicateマシン上のフォルダです。
• Example: c:temp
※ Fileターゲットエンドポイントを持つ複数のタスクが、同じターゲットディレクトリをするケースはサポートされていません(各タスクが同じ
Reference Fileに書き込もうとするため)。
45
高度な接続プロパティの設定
• Post-process files
• カスタムコマンドを使って最終的なターゲットファイルを処理することができます。このコマンドは、データファイルが作成されるたびに実行
されます。
※ Generate a reference fileオプションを選択している場合、コマンドが正常に完了した後にのみ、行(ファイルの場所を指定)が
Reference Fileに追加されます。
• Command name – コマンドファイルが格納されている場所 例: C:utilsmove.exe.
• Working directory – コマンドを実行するディレクトリ
• Parameters - 実行時にコマンドに渡す必要のあるパラメーターを指定します。以下の組み込みパラメータを使用できます。 :
• ${FILENAME} – フルロードまたはCDCデータを含むCSVファイルへのフルパス
• ${METADATA_FILENAME} – メタデータを含むDFMファイルへのフルパス
※ CSV/DFMファイルのパスにスペースが含まれる場合は、これらのパラメータを引用符で囲む必要があります(例:
"${FILENAME}")。
※ ポスト・プロセッシング・コマンドは、適切な終了コードを返さなければなりません。利用可能な終了コードのオプションについては、「
Exit codes for the Post-Processing command」を参照してください。
46
高度な接続プロパティの設定
• After post processing completes
• 後処理が完了した後、元のターゲットファイルをどうするかを決めることができます。 :
• Do nothing - ファイルを元の場所に残します。
• Delete files – ファイルをディスクから削除します。
• Archive files to folder - 指定した場所にファイルがアーカイブされます。
47
ポスト・プロセッシング・コマンドの終了コード
• ポスト処理コマンドは、適切な終了コードを返す必要があります。後述の標準的な終了コードの値を使用するか、後述の「Internal Parameterによるポス
トコマンド終了コードの設定」で説明するように、カスタムの終了コードの値を設定することができます。
• 標準的な終了コード
• 0 – 成功
• 1 - 回復可能なエラーです。タスクは、「 Environmental errors 」タブの設定に従って、障害発生箇所から回復します。
• 2 - テーブルエラーの発生。 テーブル・エラーが発生した場合、Replicateは「 Table Errors 」タブの設定に従って、エラーを処理します。
• 3 (もしくは、他の任意の値 例 100) - 致命的なエラーです。タスクは失敗し、回復を試みません。
• Internal Parameterによるポストコマンド終了コードの設定
• internal parametersを使用して、カスタム値で終了コードを設定することができます。これは、他のアプリケーションがすでに標準の終了コードの値を
使用している場合に特に便利です。
• 以下の各コードの説明は、上記の「標準的な終了コード」を参考にしてください。
• successExitCode
• recoverableErrorExitCode
• tableErrorExitCode
• fatalErrorExitCode
48
高度な接続プロパティの設定
• Internal parameters:
• 内部パラメータは、UIで公開されていないパラメータです。Qlikサポートの指示があった場合のみ使用してください。
• internal Qlik Replicate parametersを追加するには:
• Internal Parameters リンクをクリックします。
• Internal Parameters ダイアログボックスが開きます。
• 編集ボックスで、 追加するパラメータの名前を入力し、クリックします。
• 検索ボックスの下のテーブルに、パラメータがデフォルト値で追加されます。
• 必要に応じてデフォルト値を変更します。
• パラメータの値をデフォルトに戻すには、行の最後にある「Restore default value」アイコンをクリックします。
• More Options
• これらのオプションは、特定のバージョンや環境にのみ関連するため、UIには表示されません。したがって、Qlikサポートや製品マニュアルで明示的に
指示されていない限り、これらのオプションを設定しないでください。
• オプションを設定するには、オプションを「Add feature name」フィールドにコピーして「Add」をクリックします。その後、受け取った指示に従ってオプシ
ョンの値を設定したり、有効にしたりします。
• Settings summary
• 「Setting Summary 」リンクをクリックすると、設定の概要を表示することができます。この機能は、Qlikサポートに設定の概要を送信する必要があ
る場合に便利です。
49
Reference filesの作成
• File TargetエンドポイントのAdvancedタブでは、Generate a Reference Fileオプションを有効にすることができます。Reference FileにはChange
Fileの場所のリストが含まれているため、タスクの[Apply Changes]または[Store Changes]オプションが有効になっている場合にのみ関連性があります。
• Reference File 名の形式は以下に従います。:
• <Fileターゲットエンドポイント名><カウンター>.csv|json
• 例: FileTarget00000001.csv
※ カウンターサフィックスは、新しいReference Fileが生成されるたびに(つまり、ファイルが[General]タブで定義された最大サイズに達したときに)段階的に
増加します。新しいReference Fileが生成された後、必要に応じて古いReference Fileを削除することができます。
• 「Apply Changes」データファイルが作成されるたびに、次のような形式でReference Fileに新しい行が追加されます。 :
• <ソーステーブル名>,<データファイルへのフルパス>
• 例: MyTable,c:tempfiletargetdbo.MyTable20170102-091759447.csv
• なお、[Advanced]タブの[Post-process files]オプションも有効になっている場合は、後処理が完了した後にReference Fileが生成されます。
※ Post-process filesとDelete files (ポストプロセッシングの完了後)の両方のオプションを有効にすると、Reference Fileは生成されません。
※ 「Archive files to folder(後処理完了後)」オプションを選択すると、データファイルのアーカイブ先を反映してReference Fileが更新されます。
www.qlik.com/sap

More Related Content

What's hot

What's hot (20)

Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップMicrosoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
Microsoft SQL Serverソースエンドポイント-スタンドアロン環境での非sysadminユーザーのセットアップ
 
ODBCのソース・ターゲットエンドポイントとしての利用
ODBCのソース・ターゲットエンドポイントとしての利用ODBCのソース・ターゲットエンドポイントとしての利用
ODBCのソース・ターゲットエンドポイントとしての利用
 
Qlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れQlik composeを利用したDWH構築の流れ
Qlik composeを利用したDWH構築の流れ
 
PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
 
ODBC with CDCのソースエンドポイントとしての利用
ODBC with CDCのソースエンドポイントとしての利用ODBC with CDCのソースエンドポイントとしての利用
ODBC with CDCのソースエンドポイントとしての利用
 
Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)
Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)
Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)
 
SAP HANAのターゲットエンドポイントとしての利用
SAP HANAのターゲットエンドポイントとしての利用SAP HANAのターゲットエンドポイントとしての利用
SAP HANAのターゲットエンドポイントとしての利用
 
Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用
 
Qlik Replicate - IBM DB2 for LUWを ソースおよびターゲットエンドポイントとして使用する
Qlik Replicate - IBM DB2 for LUWをソースおよびターゲットエンドポイントとして使用するQlik Replicate - IBM DB2 for LUWをソースおよびターゲットエンドポイントとして使用する
Qlik Replicate - IBM DB2 for LUWを ソースおよびターゲットエンドポイントとして使用する
 
Qlik Replicate - Change Tables(変更テーブル)のご説明
Qlik Replicate - Change Tables(変更テーブル)のご説明Qlik Replicate - Change Tables(変更テーブル)のご説明
Qlik Replicate - Change Tables(変更テーブル)のご説明
 
Microsoft Azure ADLSのターゲットエンドポイントとしての利用
Microsoft Azure ADLSのターゲットエンドポイントとしての利用Microsoft Azure ADLSのターゲットエンドポイントとしての利用
Microsoft Azure ADLSのターゲットエンドポイントとしての利用
 
Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用
 
Qlik Replicate - 双方向レプリケーション(Bidirectional Replication)の利用
Qlik Replicate - 双方向レプリケーション(Bidirectional Replication)の利用Qlik Replicate - 双方向レプリケーション(Bidirectional Replication)の利用
Qlik Replicate - 双方向レプリケーション(Bidirectional Replication)の利用
 
SAP HANAのソースエンドポイントとしての利用
SAP HANAのソースエンドポイントとしての利用SAP HANAのソースエンドポイントとしての利用
SAP HANAのソースエンドポイントとしての利用
 
Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理
 
Qlik Replicate - サーバー設定(Server Settings)の詳細
Qlik Replicate - サーバー設定(Server Settings)の詳細Qlik Replicate - サーバー設定(Server Settings)の詳細
Qlik Replicate - サーバー設定(Server Settings)の詳細
 
Qlik Tips 20210921 階層データの分析
Qlik Tips 20210921 階層データの分析Qlik Tips 20210921 階層データの分析
Qlik Tips 20210921 階層データの分析
 
IBM DB2 for iSeriesのソースエンドポイントとしての利用
IBM DB2 for iSeriesのソースエンドポイントとしての利用IBM DB2 for iSeriesのソースエンドポイントとしての利用
IBM DB2 for iSeriesのソースエンドポイントとしての利用
 
Google Cloud Storageの ターゲットエンドポイント としての利用
Google Cloud Storageのターゲットエンドポイントとしての利用Google Cloud Storageのターゲットエンドポイントとしての利用
Google Cloud Storageの ターゲットエンドポイント としての利用
 

Similar to ファイルのソース・ターゲットエンドポイントとしての利用

20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
dstn
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
 
Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)
wintechq
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前に
Kosei ABE
 
第3回 FIC&FCS合同勉強会
第3回 FIC&FCS合同勉強会第3回 FIC&FCS合同勉強会
第3回 FIC&FCS合同勉強会
Hiroyuki Honta
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
Takekazu Omi
 

Similar to ファイルのソース・ターゲットエンドポイントとしての利用 (20)

Drupalテーマとthemingの基礎
Drupalテーマとthemingの基礎Drupalテーマとthemingの基礎
Drupalテーマとthemingの基礎
 
SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用
 
Dominoアクセスサービスを使用したRESTサービスのプレイブック
Dominoアクセスサービスを使用したRESTサービスのプレイブックDominoアクセスサービスを使用したRESTサービスのプレイブック
Dominoアクセスサービスを使用したRESTサービスのプレイブック
 
eZ Publish 2012年8月勉強会 - テンプレートオーバーライド
eZ Publish 2012年8月勉強会 - テンプレートオーバーライドeZ Publish 2012年8月勉強会 - テンプレートオーバーライド
eZ Publish 2012年8月勉強会 - テンプレートオーバーライド
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
 
Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~Drupal のコア要素を知る ~構築を支える道具立て~
Drupal のコア要素を知る ~構築を支える道具立て~
 
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
 
Create tbl
Create tblCreate tbl
Create tbl
 
SQL Server 入門
SQL Server 入門SQL Server 入門
SQL Server 入門
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)Active directory の移行 (2011年6月の資料)
Active directory の移行 (2011年6月の資料)
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
20220208 Qlik TECH TALK Qlik Reporting Service ~ Qlik Cloudから帳票レポートを配信!
20220208 Qlik TECH TALK Qlik Reporting Service ~ Qlik Cloudから帳票レポートを配信!20220208 Qlik TECH TALK Qlik Reporting Service ~ Qlik Cloudから帳票レポートを配信!
20220208 Qlik TECH TALK Qlik Reporting Service ~ Qlik Cloudから帳票レポートを配信!
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前に
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
 
Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能
 
第3回 FIC&FCS合同勉強会
第3回 FIC&FCS合同勉強会第3回 FIC&FCS合同勉強会
第3回 FIC&FCS合同勉強会
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
 

More from QlikPresalesJapan

More from QlikPresalesJapan (20)

2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality
 
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQLTalend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
 
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
 
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
 
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
 
Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認
 
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJarTalend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
 
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
 
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
 
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
 
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
 
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
 
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC APITalend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
 
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
20240319  Qlik Tips  折れ線チャートの時系列予測についての説明20240319  Qlik Tips  折れ線チャートの時系列予測についての説明
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
 
どうしてそうなったのか?機械学習モデルで「結果」の「理由」を知るキードライバー分析
どうしてそうなったのか?機械学習モデルで「結果」の「理由」を知るキードライバー分析どうしてそうなったのか?機械学習モデルで「結果」の「理由」を知るキードライバー分析
どうしてそうなったのか?機械学習モデルで「結果」の「理由」を知るキードライバー分析
 
TECH TALK Talend Administration Center の紹介
TECH TALK Talend Administration Center の紹介TECH TALK Talend Administration Center の紹介
TECH TALK Talend Administration Center の紹介
 
【Qlik 医療データ活用勉強会】機能評価係数Ⅱの内訳データの分析  -その2-
【Qlik 医療データ活用勉強会】機能評価係数Ⅱの内訳データの分析  -その2-【Qlik 医療データ活用勉強会】機能評価係数Ⅱの内訳データの分析  -その2-
【Qlik 医療データ活用勉強会】機能評価係数Ⅱの内訳データの分析  -その2-
 
Qlik What's New - February 2024 リリースの新機能のご紹介
Qlik What's New - February 2024 リリースの新機能のご紹介Qlik What's New - February 2024 リリースの新機能のご紹介
Qlik What's New - February 2024 リリースの新機能のご紹介
 
20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptx20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptx
 
20240206 Qlik Tips Pivot Straight TBL の改善
20240206 Qlik Tips Pivot Straight TBL の改善20240206 Qlik Tips Pivot Straight TBL の改善
20240206 Qlik Tips Pivot Straight TBL の改善
 

ファイルのソース・ターゲットエンドポイントとしての利用

  • 1. © 2019 QlikTech International AB. All rights reserved. ファイルの ソース・ターゲットエンドポイント としての利用 クリックテック・ジャパン株式会社
  • 2. © 2019 QlikTech International AB. All rights reserved. 2 Using a file as a source
  • 4. 4 概要 • ファイルエンドポイントは、ソースとしてもターゲットとしても使用することができます。ソースとして使用する場合、ファイルエンドポイント は、ソースファイルが区切りテキストファイル形式であることが必要です。ターゲットとして使用する場合、ファイルエンドポイントは、デー タファイルを区切りテキストファイル形式(CSV)またはJSON形式で生成します。 • 区切り記号付きテキストファイルは、表形式でデータを保存する場合に使用します。区切り文字ファイルには、CSV形式やTSV形 式などがあります。組織によっては、データベースから区切りテキストファイルにデータをエクスポートする手順を導入している場合もあ りますし、単に表形式のデータを保存するのに便利なフォーマットとして好んで使用している場合もあります。 • 区切りテキストファイルでは、テーブルの各レコードがそれぞれ一つの行に保存されます。区切り文字は、新しい行の始まりや、新し い列の始まりを示すのに使われます。区切り文字にはほとんどの文字が使用できますが、行の区切りには改行が、列の区切りには カンマがよく使われます。 • JSONファイルでは、各レコードは1行で表現されます。
  • 5. 5 概要 • JSONデータフォーマットの例 • 以下のテーブル形式のデータは、 • 以下の形で表現されます。 book_id title price is_hardcover 123 Angels 6.99 false 456 The Fallen 6.49 true 789 Rise Up 7.23 true { "book_id": 123, "title": "Angels", "price": 6.99, "is_hardcover": false } { "book_id": 456, "title": "Fallen", "price": 6.49, "is_hardcover": true } { "book_id": 789, "title": "Rise Up", "price": 7.23, "is_hardcover": true }
  • 6. 6 ファイルソースの概要 • Replicateでファイルソースのエンドポイントを設定する際には、CSVソースファイルで使用される行と列の区切り文字、および区切り 文字を含む列を囲むために使用される文字を指定する必要があります。また、二重引用符で囲まれた列をエスケープするための文 字を指定する必要があるかもしれません(そのような列がソースファイルに存在する場合)。もし、以前にReplicateを使って別の エンドポイントのテーブルをファイルに複製した後、そのファイルを別のタスクのソースとして使用したい場合は、ターゲット・ファイルの生 成に使用したのと同じデリミタを指定する必要があります。 • このエンドポイントでは、以下の3種類の区切りファイルを使用します。 : • Full load files • Change files • Reference files
  • 7. 7 Reference files • Change Filesは、1つの場所に存在する場合と、複数の場所に存在する場合があります。異なる場所に存在するChange Filesや、ターゲット テーブル名が含まれていないChange Filesにアクセスするには、Reference Fileを使用する必要があります。 Change File(s) の行に、変更を適用するテーブルの名前が含まれている場合は、Reference FileにはChange Files へのパ スを含めるだけで済みます。各Change Fileに1つのテーブルに対する変更が含まれている場合は、Reference File内の各変更 ファイルのパスの前に、対応するターゲット テーブルの名前を記述する必要があります。 • Reference File の各行は、以下のようなフォーマットになっています。 : • [<テーブル名>],<Change Fileのフルパス> • ここで、[<テーブル名>]は、参照されたChange Fileに1つのテーブルの変更が含まれている場合のみ必要です。 ※ Reference File名は70文字を超えてはいけません(パスの長さにはそのような制限はありません)。70文字を超える Reference File名は無視され、適切な警告がログに書き込まれます。
  • 8. 8 Reference files • Reference File: 各 Change Fileに、1つのテーブルに対する変更が含まれている場合 : • table1,c:tempcdc1.csv • table2,c:tempcdc2.csv • table3,c:tempcdc3.csv • Reference File:各 Change Fileに、複数のテーブルに対する変更が含まれている場合 : • c:tempcdc1.csv • c:tempcdc2.csv • c:tempcdc3.csv
  • 9. 9 Full load files • Full Load Filesは、空のソーステーブルにデータを入力するために使用されます。Full Load Filesには、テーブルデータのみを含 める必要があります。ソーステーブル自体は、File ソースエンドポイントの構成時にExternal Table Editorを使用して作成します。 テーブルとそのデータは、レプリケートタスクのフルロードステージでターゲットエンドポイントにレプリケートされます。 • Full Load Fileの例 • 22,January,2014,male,5463565 • 12,May,2011,female,3236776 • 9,March,2009,male,9648675
  • 10. 10 Change files • Change Fileは、指定されたターゲット・テーブルに適用するためのDML変更の記録(行として表される)を含む区切りテキスト・ ファイルです。Replicateは、Change Fileを読み込んで、その変更を関連するターゲット・テーブルに適用します。ターゲット・テーブ ルは、Change Fileで指定されているか、Reference Fileで指定されているかのいずれかです。Change Filesは、変更日に応 じてソース・ディレクトリからピックアップされるので、変更が適切な順序で処理されることが保証されます。 ※ Change Fileの修正日は、タスク開始のタイムスタンプよりも新しく、かつ最後に処理されたChange Fileよりも新しくなけれ ばなりません。 • Change Fileの各行は、以下のような区切りのある列で構成されています。 : • (任意) 変更操作(例:DELETE)。このフィールドがされない場合は、全てINSERT と見なされます。 • 変更を適用する対象テーブルの名前(Change Fileに複数のテーブルの変更が含まれている場合のみ必要です。 • (任意) 変更のタイムスタンプ (変更が発生した日時) • (任意) 変更を適用したユーザー • 変更されたデータ(1つまたは複数の列)
  • 11. 11 Change files • Change Filesには、以下の例のように、複数のテーブルの変更を含めることも、1つのテーブルの変更を含めることもできます。 • Change Fileに、複数のテーブルに対する変更が含まれている場合 • INSERT,table1,ts1,user,dog,cat,bird • INSERT,table2,ts1,user,dog,cat,bird • DELETE,table3,ts1,user,dog,cat,bird • Change Fileに、1つのテーブルに対する変更が含まれている場合 • INSERT,,ts1,user,dog,cat,bird • INSERT,,ts1,user,dog,cat,bird • DELETE,,ts1,user,dog,cat,bird ※ 異なる場所に存在するChange Filesや、ターゲットテーブル名が含まれていないChange Filesにアクセスするには、Reference Fileを使用する必 要があります。Reference Fileの詳細については、「Reference File」のページを参照してください。 ※ Change Fileの名前は、70文字を超えることはできません(パスの長さにはそのような制限はありません)。70文字を超えるChange File名は無 視され、適切な警告がログに書き込まれます。
  • 12. 12 前提条件 • Qlik Replicateでファイルをソースとして使用する前に、以下の前提条件が満たされていることを確認してください。 • ネットワーク内に Qlik Replicate がインストールされていること • Change Files, Full Load files, Reference Files は区切り文字テキストファイル形式であること • ソースファイル(Reference Fileを含む)は、Qlik Replicateのマシンからアクセスできること
  • 13. 13 制限事項 • Fileソースには以下の制限事項があります。: • レプリケーションタスクで使用されているChange Filesは、タスクの進行中は変更できません。 • フルロードタスクを停止してから再度起動すると、タスクが(停止した時点ではなく)最初から開始されます。 • Reload from timestampオプションはサポートされていません。 • 変更処理中のテーブルのリロードはサポートされていません。
  • 15. 15 一般的な接続プロパティの設定 File ソース エンドポイントをQlik Replicateに追加するには、次の手順を実行します。 1. Qlik Replicate コンソールで、[Manage Endpoint Connections]をクリックして、[Manage Endpoint Connections]ダイアログボックスを開き ます。次に、「New Endpoint Connection」ボタンをクリックします。Qlik Replicateにエンドポイントを追加する方法については、「 Defining and managing endpoints 」を参照してください。 2. Nameフィールドに、エンドポイントの名前を入力します。この名前は、エンドポイントを識別するのに役立つものであれば何でも構いません。 3. Descriptionフィールドには、エンドポイントを識別するのに役立つ説明を入力します。これは任意の設定項目です。 4. Roleにて、[Source] を選択します。 5. TypeのリストからFile を選択します。 • このエンドポイントがLog Stream Stagingの設定で重複したソースとして使用されている場合、「Read changes from log stream」チェッ クボックスを選択し、ドロップダウンリストから関連するLog Stream Stagingタスクを選択します。 • ログストリームのステージングタスクの設定と管理については、「 Using the Log Stream 」を参照してください。
  • 16. 16 一般的な接続プロパティの設定 6. General タブにて以下の設定を行います。 • File Format • Field Delimiter : ソースファイルのカラムを区切るのに使用される区切り文字です。デフォルトはカンマです。 • Record delimiter : ソースファイルのレコード(行)を区切るためのデリミタです。デフォルトではキャリッジリターン(n)です。 • Null value : ソースファイルでNULL値を示すのに使われる文字。 • Quote character : 列の最初と最後に使われる文字で、列の区切り文字を含みます。デフォルトはダブルクオート文字(")です。カラムデリミ タを含むカラムをダブルクオートで囲むと、カラムデリミタ文字はカラムデリミタとしてではなく、実際のデータとして解釈されます。 • 例 (コンマがカラムデリミタとして設定されているとき): "sunroof, power-steering" • Escape character : 文字列とその文字列を含む列の両方が引用符(クオーテーション)で囲まれている場合に、文字列をエスケープするため に使用される文字です。文字列の引用符(クオーテーション)は、エスケープされない限り削除されることに注意してください。 • 例 ( “ が引用符として、 がescape characterとして設定されているとき): 1955,"old, "rare", Chevrolet",$1000 • Code page: ソースファイルのコードページがデフォルト(65001)と異なる場合は、コードページを指定します。 ※ WindowsとLinuxでは、コードページの規則が異なります。指定するコードページは、ソースファイルシステムのコードページ規約に準拠する必要 があります。 • Ignore records : 任意で、無視するソースファイルのヘッダーとフッターの行を指定します。無視するヘッダとフッタの行に実際のデータが含まれていな いことに注意してください。 ※ 指定された数値は、Full Loadタスクでのみ無視されるヘッダーとフッターです。
  • 17. 17 一般的な接続プロパティの設定 6. General タブにて以下の設定を行います。 • Change Processing ※ Full Load中に存在する Change Files から変更を取り込むことはできません。そのため、 Change Files はフルロードが完了してから、指定した場所に配 置する必要があります。 • Folder : Change Filesに対象となるテーブル名が含まれていて、1つのフォルダに存在する場合は、このオプションを選択します。次に、指定されたフィ ールドにフォルダの場所を指定します。オプションでワイルドカード文字を使用して、指定したパターンに一致するファイルのみを処理することができます。 • Example: c:temp*changes.CSV • Use Reference Files :Reference Filesを使ってChange Filesの場所を示す場合は、このオプションを選択します。次に、以下のいずれかを指 定します。: • 複数のReference Filesへのパス • 特定のReference Fileへのパス • Reference File名にマッチするワイルドカードパターンのパス(例:C:Reference Files*.csv)。 • フォルダーには、単一のReference File(Change Fileの場所が継続的に追加される)、または複数のReference Fileを含めることができ ます。 • Change File Path is preceded by table name : Reference filesの各Change Fileパスの前にテーブル名がある場合、このオプションを選 択します。 ※ このオプションを選択すると、[Header columns ordinal position]セクションの[Table name]チェックボックスが無効になります。
  • 18. 18 一般的な接続プロパティの設定 6. General タブにて以下の設定を行います。 • Change Processing • Header Column Order: Change Filesの各ヘッダー列の位置を指定します。ヘッダー列の後に配置するデータ列を除き、各列は任意の順 序で配置することができます。 • 例えば、Change Filesが以下のようになっている場合: • DELETE,table1,timestamp,user1,dog,cat,bird • カラム順序は以下のように設定します。: • Operations are in column: 1 • Table names are in column: 2 • Timestamps are in column: 3 • User names are in column: 4 • Start data from column: 5 • Start data from column: 実際のデータをどの列から開始するかを指定します。データ列はヘッダー列の後に配置する必要があることに注意 してください。上記のHeader column Orderフィールドの説明にある例を参照してください。
  • 19. 19 ユーザー名とタイムスタンプの列順の変更 • User name "列と "Timestamp"列の序列を変更するには、まず、$AR_H_TIMESTAMPと$AR_H_USERヘッダー列をChange Filesに追加 する2つの変換(各列に1つずつ)を定義する必要があります。 • 単一のテーブル(Change Fileなど)にカラムを追加する場合: 1. Table Settings ウィンドウを開きます。(参考: Defining transformations for a single table/view. ) 2. Transform タブを選択し、Add Columnを選択します。新しい行がOutputテーブルに追加されます。 3. 行の一番下にあるfxボタンをクリックします (Expression カラム内)。 Expression Builder ウィンドウが開きます。 4. Header Columns タブからカラムを選択し、OKを選択します。 5. コラム名を指定します。例えば、 $AR_H_TIMESTAMPヘッダーカラムを選択した場合は、”Timestamp”を指定します。 6. その他のヘッダーカラムを追加するために、ステップ 1-5 を繰り返します。 7. OK を選択し、Table Settings ウィンドウを閉じます。 • すべてのテーブル(例:Change Files)にヘッダー列を追加するには: 1. Global Transformation ウィンドウを開きます。 (Starting the Global Transformation Rules wizard ) 2. Next を2回クリックし、 How to transform 画面を開きます。 3. Computation expression の横の Browse ボタンを選択します。 Expression Builder ウィンドウを開きます。 4. Header Columns でカラムを選択し、OKを選択します。 5. コラム名を指定します。例えば、 $AR_H_TIMESTAMPヘッダーカラムを選択した場合は、”Timestamp”を指定します。 6. Finishを選択します。 7. その他のヘッダーカラムを追加するために、ステップ 1-6 を繰り返します。
  • 20. 20 テーブルとフルロードデータの定義 • エンドポイント設定のTables タブでは、Full Load データ ファイルの場所を指定し、ソース テーブルの作成方法を定義します。フルロードの際、レプリケート はソーステーブルをターゲットエンドポイントにコピーします。 • テーブルを定義するには : 1. Tables タブで、 New Tableを選択します。New Source Table ウィンドウが開きます。 2. Table name フィールドでテーブル名を指定します。 3. Location of full load data file(s) フィールドでは、フルロードデータを含む区切りテキストファイルの場所を指定します。ワイルドカード文字にも 対応しています。 4. フィールドを追加するためには、 Add Fieldを選択します。そして、デフォルトのカラム名を選択して名前を編集します。 5. データタイプを指定するには、指定したい行を選択しTypeカラムのドロップダウンリストからデータ型を選択します。 6. (任意) Key 項目をクリックして、Unique Indexを指定または解除できます。 7. テーブルを作成するには、 OKを選択します。Tableタブのテーブルリストに作成したテーブルが追加されます。 • テーブルの各操作 • フィールドの編集: New/Edit Source Table ダイアログボックスで列をダブルクリックし、前ページの手順のように値を編集します。 • フィールドの削除: New/Edit Source Tableダイアログボックスで列を選択し、[Delete Field]ボタンをクリックします。 • フィールドの位置(順序)の変更: フィールドを選択し、必要に応じて「Up/Down」、「Move to Top/Move to Bottom」ボタンをクリックします。 • テーブルの編集: Tablesタブで、テーブルをダブルクリックするか、テーブルを選択してから「Edit」ボタンをクリックします。前ページの手順のようにテーブ ルを編集します。 • テーブルの削除: Tablesタブで、テーブルを選択し、「Delete」ボタンをクリックします。
  • 21. 21 テーブルとフルロードデータの定義 • テーブルの作成 • ソーステーブルの定義は、Full Loadファイルの列データ値と一致している必要があります。例えば、Full Loadデータファイルに以下のような区切りのある 列が含まれている場合、テーブルの定義は右図のようになります。: • 22,January,2014,male,5463565 • 12,May,2011,female,3236776 • 9,March,2009,male,9648675 • 30,June,2002,female,3458795 ※ Boolean (ブール値)は、1(TRUE)または0(FALSE)という数字で表さなければならず、TRUEやFALSEは使用できません。
  • 22. 22 高度な接続プロパティの設定 [Advanced ] タブでは、次のプロパティを設定できます。 • File preprocessing command • これまでの説明の通り、ソースファイルは区切りテキスト形式のである必要があります。ソースファイル(Full Loadおよび/またはChange Files)が区 切りテキスト形式でない場合に、独自のプログラムを使用して必要な形式に変換することができます。 • フルロードタスクが開始される前に、フルロードデータファイルの場所でプログラムが実行されます。その後、変更処理時には、変更ファイルの場所で指定 されたファイルに対して実行されます。 • コマンドは以下の例のように指定します。 : • c:tempfilesconvertfile.exe ※ パスは、変換プログラムの場所がシステム変数の”Path”で定義されていない場合にのみ必要です。
  • 23. 23 高度な接続プロパティの設定 [Advanced ] タブでは、次のプロパティを設定できます。 • Check for changes every (sec) • Change Fileの更新をチェックする頻度を秒単位で指定します。 • Change Processing Cleanup • 次のクリーンアップオプションのいずれかを選択して、Replicateが処理されたChange Files/Reference Filesをどのように処理するかを決定します。 • Do nothing – ファイルはオリジナルの場所に残されます。 • Delete files – ファイルはディスクから削除されます。 • Archive files to folder – 指定した場所にファイルがアーカイブされます。 ※ Reference Filesの場合、「Delete files」と「Archive files to folder」の操作は、Reference Fileが複数ある場合にのみ行われます。
  • 24. 24 ファイル前処理コマンドの設定 • 用意した前処理コマンドのプログラムは、それぞれの入力ファイルに対して実行され、以下のパラメータを受け取ります。 : • 入力ファイルの場所(フルロードデータのファイルパスとChange Fileのパス) • 出力ファイルのフルパス • 出力ファイルは以下の場所に書き込まれます。 : • <Replicateのインストールフォルダ>datatasks<タスク名>trans_filesOUTPUT_FILE_NAME(s) • OUTPUT_FILE_NAME(s) は用意するプログラムで指定します。
  • 25. 25 ファイル前処理コマンドの設定 • 例: 以下を前提とします。: • フルロードデータファイルの場所には以下のファイルがあります。: • c:tempfltable1.csv • c:tempfltable2.csv • Change Fileの場所には以下のファイルがあります。 : • c:tempcdctable1.txt • c:tempcdctable2.txt • File preprocessing commandフィールドに以下のプログラムを指定します。 : • c:tempconvertfile.exe • 「Full Load」と「Apply Changes」の両方のレプリケーションオプションが有効になっています。 • 上記のシナリオでは、Replicateは以下の順で前処理コマンドを実行します。: • Full Load が開始される前: • c:tempconvertfile.exe c:tempfltable1.csv <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable1.csv • c:tempconvertfile.exe c:tempfltable2.csv <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable2.csv • Change Processing の実行中: • c:tempconvertfile.exe c:tempcdctable1.txt <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable1.txt • C:tempconvertfile.exe c:tempcdctable2.txt <Replicateのインストールフォルダ>datatasks<タスク名>trans_filestable2.txt
  • 26. 26 高度な接続プロパティの設定 • Internal parameters: • 内部パラメータは、UIで公開されていないパラメータです。Qlikサポートの指示があった場合のみ使用してください。 • internal Qlik Replicate parametersを追加するには: • Internal Parameters リンクをクリックします。 • Internal Parameters ダイアログボックスが開きます。 • 編集ボックスで、 追加するパラメータの名前を入力し、クリックします。 • 検索ボックスの下のテーブルに、パラメータがデフォルト値で追加されます。 • 必要に応じてデフォルト値を変更します。 • パラメータの値をデフォルトに戻すには、行の最後にある「Restore default value」アイコンをクリックします。 • More Options • これらのオプションは、特定のバージョンや環境にのみ関連するため、UIには表示されません。したがって、Qlikサポートや製品マニュアルで明示的に 指示されていない限り、これらのオプションを設定しないでください。 • オプションを設定するには、オプションを「Add feature name」フィールドにコピーして「Add」をクリックします。その後、受け取った指示に従ってオプシ ョンの値を設定したり、有効にしたりします。 • Settings summary • 「Setting Summary 」リンクをクリックすると、設定の概要を表示することができます。この機能は、Qlikサポートに設定の概要を送信する必要があ る場合に便利です。
  • 27. 27 Using a file as a target
  • 28. 28 ファイルのターゲットとしての利用 このセクションでは、レプリケーション タスクのターゲットとしての区切りテキスト ファイルの設定と使用方法について説明します。File ターゲッ ト エンドポイントを使用してデータベース テーブルをファイルにエクスポートし、ファイル ソース エンドポイントを持つレプリケート タスクのソー スとして使用することができます。
  • 29. 29 概要 • ファイルエンドポイントは、ソースとしてもターゲットとしても使用することができます。ソースとして使用する場合、ファイルエンドポイント は、ソースファイルが区切りテキストファイル形式であることが必要です。ターゲットとして使用する場合、ファイルエンドポイントは、デー タファイルを区切りテキストファイル形式(CSV)またはJSON形式で生成します。 • 区切り記号付きテキストファイルは、表形式でデータを保存する場合に使用します。区切り文字ファイルには、CSV形式やTSV形 式などがあります。組織によっては、データベースから区切りテキストファイルにデータをエクスポートする手順を導入している場合もあ りますし、単に表形式のデータを保存するのに便利なフォーマットとして好んで使用している場合もあります。 • 区切りテキストファイルでは、テーブルの各レコードがそれぞれ一つの行に保存されます。区切り文字は、新しい行の始まりや、新し い列の始まりを示すのに使われます。区切り文字にはほとんどの文字が使用できますが、行の区切りには改行が、列の区切りには カンマがよく使われます。 • JSONファイルでは、各レコードは1行で表現されます。
  • 30. 30 概要 • JSONデータフォーマットの例 • 以下のテーブル形式のデータは、 • 以下の形で表現されます。 book_id title price is_hardcover 123 Angels 6.99 false 456 The Fallen 6.49 true 789 Rise Up 7.23 true { "book_id": 123, "title": "Angels", "price": 6.99, "is_hardcover": false } { "book_id": 456, "title": "Fallen", "price": 6.49, "is_hardcover": true } { "book_id": 789, "title": "Rise Up", "price": 7.23, "is_hardcover": true }
  • 31. 31 ファイルターゲットの概要 • ReplicateタスクでFileをターゲットとして使用する場合、Full LoadとCDCデータの両方がCSVファイルまたはJSONファイルに書き込まれます(エンドポ イントの設定によります)。このトピックではCSVファイルに関する説明をしていますが、JSONファイルについても同様です。 • Full Load ファイルは LOAD00001.csv, LOAD00002.csv などのように増分カウンタを用いて命名され、Apply Changes ファイルは 20141029-1134010000.csv などのようにタイムスタンプを用いて命名されます。 ※ Parallel Loadを使用する場合、Full Loadファイルの命名規則が若干異なります。 : ※ LOAD_$(セグメントID)_$(増分カウンタ) ※ Example: ※ LOAD_1_00000001 | LOAD_1_00000002 | LOAD_1_00000003 | LOAD_2_00000001 | LOAD_2_00000002 ※ Apply ChangesのCSVファイルは、アイドル状態のときは拡張子が.tmpになって表示されます。 ※ Create metadata files in the target folder オプションを有効にすると、同じネーミングフォーマットで対応するメタデータファイルが作成されますが、 拡張子は.dfmになります。 • 各ソーステーブルに対して、指定されたターゲットフォルダの下にフォルダが作成されます。すべてのファイル(Full Load、Apply Changes、Metadata (有効な場合)など)は、FileターゲットのGeneralタブで定義された設定に従って、関連するフォルダに書き込まれます。 • タスクが完了した後、生成されたCSVファイルを使用するファイルソースエンドポイントを持つ別のタスクを定義することができます。
  • 32. 32 DDLハンドリング • DDL変更がされると、Replicateはデータファイルを閉じ、「Create metadata files in the target folder」オプションが有効な 場合はDFMファイルも作成します。次の変更のバッチが到着すると、Replicateはその変更を含む新しいデータファイルを作成します。 新しいデータファイル用に作成されるDFMファイルは、新しいテーブル構造と一致することに注意してください。
  • 33. 33 制限事項 レプリケートタスクで File ターゲットエンドポイントを使用する場合は、次の制限が適用されます。 • 以下のDDLがサポートされます。: Truncate table, Drop table, Create table, Add Column, Rename Column, Drop Column, Convert Data Type • フルLOBモードはサポートされません。 • UPDATE と DELETE はApply Changesモードではサポートされません。 • Batch Optimized Apply モードはサポートされません。 • Target lookup はサポートされません。 • <target folder> パラメータには、特殊文字を含めることはできません。 • Apply Changesの設定で When source table is altered が[Ignore ALTER]に設定されている場合、データファイルは更新されますが、メタデー タファイルとメタデータヘッダー(定義されている場合)は更新されません。 • ソーススキーマおよびテーブル名にピリオドを含めることはできません。ピリオドが含まれている場合は、global transformation を使用してピリオドを削除/置 換する必要があり、そうしないとデータ損失が発生します。
  • 34. 34 変更データのパーティショニング • ファイルターゲットへのレプリケーションでは、ソーステーブルのそれぞれについて、指定されたターゲット ディレクトリの下にディレクトリが作成されます。Change Data Partitioningを有効にすると、対 応するテーブルディレクトリの下に追加のサブディレクトリが作成されます。右の例のように、データと メタデータ(メタデータオプションが有効な場合)のファイルは、パーティションサブディレクトリに配置 されます。 : {Target Directory} {Table_1} {Partition_1} Data files DFM files {Partition_2} Data files DFM files {Partition_3} Data files DFM files {Table_2} {Partition_1} Data files DFM files {Partition_2} Data files DFM files {Partition_3} Data files DFM files • パーティションに関する情報は、attrep_cdc_partitionsコントロールテーブルに書き込まれます。 ターゲットフォルダのディレクトリ構造
  • 36. 36 ターゲットデータ型 次のページの表は、Qlik ReplicateのデータタイプからFileターゲットのデータタイプへのデフォルトのマッピングを示しています。データ タイプのマッピングは、[ Create metadata files in the target folder ]オプションが有効な場合にのみ関連することに注意し てください。 ソースからマッピングされたデータタイプを表示する方法については、使用しているソースエンドポイントのセクションを参照してください。 Qlik Replicateのデータタイプの詳細については、「Replicate data types」を参照してください。
  • 37. 37 ターゲットデータ型 Qlik Replicate データ型 File ターゲット データ型 DATE DATE TIME TIME DATETIME DATETIME BYTES BYTES (length) BLOB BLOB REAL4 REAL4 (7) REAL8 REAL8 (14) INT1 INT1 (3) INT2 INT2 (5) INT4 INT4 (10) INT8 INT8 (19) UINT1 UINT1 (3) UINT2 UINT2 (5) UINT4 UINT4 (10) UINT8 UINT8 (20) NUMERIC NUMERIC (p,s) Qlik Replicate データ型 File ターゲット データ型 STRING STRING (Length) WSTRING STRING (Length) CLOB CLOB NCLOB NCLOB BOOLEAN BOOLEAN (1)
  • 39. 39 一般的な接続プロパティの設定 File ターゲット エンドポイントをQlik Replicateに追加するには、次の手順を実行します。 1. Qlik Replicate コンソールで、[Manage Endpoint Connections]をクリックして、[Manage Endpoint Connections]ダイ アログボックスを開きます。次に、「New Endpoint Connection」ボタンをクリックします。Qlik Replicateにエンドポイントを追加 する方法については、「 Defining and managing endpoints 」を参照してください。 2. Nameフィールドに、エンドポイントの名前を入力します。この名前は、エンドポイントを識別するのに役立つものであれば何でも構い ません。 3. Descriptionフィールドには、エンドポイントを識別するのに役立つ説明を入力します。これは任意の設定項目です。 4. Roleにて、[Target] を選択します。 5. Typeのリストから[File]を選択します。 6. Target folder にて, ターゲットファイルを書き込むフォルダーのフルパスを指定します。
  • 40. 40 一般的な接続プロパティの設定 7. Generalタブで以下の設定を行います。 • Format : ターゲットファイルは、CSV形式またはJSON形式で作成することができます。 ※ JSON形式を選択した場合、以下の項目はCSV形式にのみ関連するため、非表示になります。: Field delimiter, Record delimiter, Null value, Quote character, Escape character, Code page, Add metadata header. • Delimitersについて : 区切り文字には、標準的な文字または16進数の値を使用します。ただし、16進数のデリミターを表すには 、"0x "というプレフィックスを使用する必要があります(例:0x01 = SOH)。 Field delimiter 、 Record delimiter 、 Null valueの各フィールドでは、デリミタは16進数の値を連結したものにすることができますが(例:0x0102 = SOHSTX)、 Quote CharacterとEscape characterのフィールドでは、1つの16進数の値にすることしかできません。 ※ 16進数の0x00はサポートされていません(0x01~0xFFのみサポートされているということです)。 • Field delimiter : ターゲットファイルのフィールド(列)を区切るために使用されるデリミタ。デフォルトではカンマが使用されます。 • Record delimiter : ターゲットファイルのレコード(行)を区切るために使用されるデリミタです。デフォルトでは、改行(n)です。 • Null value : ターゲットファイルでNULL値を示すために使用される文字列。 • Quote Character : テキスト列の最初と最後に使用される文字です。デフォルトはダブルクオート(")です。カラムデリミタを含むカ ラムをダブルクオートで囲むと、カラムデリミタ文字はカラムデリミタとしてではなく、実際のデータとして解釈されます。 • Escape character : 実際のデータの中で、引用文字(Quote Character)をエスケープするための文字。
  • 41. 41 一般的な接続プロパティの設定 7. Generalタブで以下の設定を行います。 • Add metadata header : ターゲットストレージのフォーマットが「Text」に設定されている場合、任意でデータファイルにヘッ ダー行を追加することができます。このヘッダー行には、ソースのカラム名や中間データ(レプリケート)のデータ型を含めることが できます。 • With column names とWith data typesの両方を選択した場合のヘッダー行を持つターゲットファイルの例 : • Code page : ターゲットファイルのコードページがデフォルト(65001)と異なる場合は、それを指定します。 ※ WindowsとLinuxでは、コードページの規則が異なります。指定するコードページは、ソースファイルシステムのコードペー ジ規約に準拠する必要があります。 Position:DECIMAL(38,0),Color:VARCHAR(10) 1,"BLUE" 2,"BROWN" 3,"RED"
  • 42. 42 一般的な接続プロパティの設定 7. Generalタブで以下の設定を行います。 • File Attributes • Maximum file size - ファイルが閉じられる(任意で圧縮される)までの最大ファイルサイズ。この値は、data files と Reference Files の両方に適用されます。 • Compress files using - 対象となるファイルを圧縮する場合はGZIPを、圧縮しない場合はNONE(デフォルト)を選択します。 • Change Processing • Consider state idle when no changes have been processed for - アイドル状態と判断するまでの待ち時間を指定します。アイ ドル状態では、指定されたサイズと時間の条件を満たせば、すでに処理されたデータを使ってファイルに変更を加えることができます(後述)。 • Apply/store changes when: • File size reaches - アイドル状態の対象ファイルに変更を加えるために必要なデータの最大サイズを指定します。 • Elapsed time reaches - アイドル状態の変更を適用するまでの最大待機時間を指定します。 • Allow a single transaction to be split into multiple files - デフォルトでは、[File size reaches]および[Elapsed time reaches]フィールドで指定された値にかかわらず、1つのトランザクションは複数のファイルに分割されません。これは、ファイルにトランザクション の全体を含めることを必要とする組織にとって重要です。ただし、これにより、ファイルサイズが非常に大きくなる可能性があります。たとえば、「 File size reaches 」の値が32MBで、レプリケートが31MBの時点で2GBの新規トランザクションの変更を適用し始めた場合、ターゲット ファイルは2.031GBで終了します。したがって、「 File size reaches 」と「 Elapsed time reaches 」フィールドの値を守ることが重要 な場合は、このオプションを選択する必要があります(トランザクションを複数のファイルに分割することになっても構いません)。
  • 43. 43 一般的な接続プロパティの設定 7. Generalタブで以下の設定を行います。 • Metadata Files • Create metadata files in the target folder - このオプションを選択すると、データファイルごとに、指定されたター ゲットフォルダの下に、拡張子が.dfmの対応するメタデータファイルが作成されます。メタデータファイル(標準的なJSON 形式)には、ソースのエンドポイントタイプ、ソースのテーブル名、データファイルのレコード数など、タスク/データに関する追 加情報が含まれています。
  • 44. 44 高度な接続プロパティの設定 [Advanced] タブでは、Reference file の作成を有効化したり、データの後処理のアクションを設定することができます。 これらのオプションについて、以下に詳しく説明します。 • Generate reference files • このオプションを選択すると、Apply Changesデータファイルのフルパスを含むReference Fileが生成されます。 ※ Reference fileは、「Apply Changes」ファイルの場所のみを指し、「Full Load」ファイルの場所は指しません。 • Reference file folder • Reference Fileが作成されるReplicateマシン上のフォルダです。 • Example: c:temp ※ Fileターゲットエンドポイントを持つ複数のタスクが、同じターゲットディレクトリをするケースはサポートされていません(各タスクが同じ Reference Fileに書き込もうとするため)。
  • 45. 45 高度な接続プロパティの設定 • Post-process files • カスタムコマンドを使って最終的なターゲットファイルを処理することができます。このコマンドは、データファイルが作成されるたびに実行 されます。 ※ Generate a reference fileオプションを選択している場合、コマンドが正常に完了した後にのみ、行(ファイルの場所を指定)が Reference Fileに追加されます。 • Command name – コマンドファイルが格納されている場所 例: C:utilsmove.exe. • Working directory – コマンドを実行するディレクトリ • Parameters - 実行時にコマンドに渡す必要のあるパラメーターを指定します。以下の組み込みパラメータを使用できます。 : • ${FILENAME} – フルロードまたはCDCデータを含むCSVファイルへのフルパス • ${METADATA_FILENAME} – メタデータを含むDFMファイルへのフルパス ※ CSV/DFMファイルのパスにスペースが含まれる場合は、これらのパラメータを引用符で囲む必要があります(例: "${FILENAME}")。 ※ ポスト・プロセッシング・コマンドは、適切な終了コードを返さなければなりません。利用可能な終了コードのオプションについては、「 Exit codes for the Post-Processing command」を参照してください。
  • 46. 46 高度な接続プロパティの設定 • After post processing completes • 後処理が完了した後、元のターゲットファイルをどうするかを決めることができます。 : • Do nothing - ファイルを元の場所に残します。 • Delete files – ファイルをディスクから削除します。 • Archive files to folder - 指定した場所にファイルがアーカイブされます。
  • 47. 47 ポスト・プロセッシング・コマンドの終了コード • ポスト処理コマンドは、適切な終了コードを返す必要があります。後述の標準的な終了コードの値を使用するか、後述の「Internal Parameterによるポス トコマンド終了コードの設定」で説明するように、カスタムの終了コードの値を設定することができます。 • 標準的な終了コード • 0 – 成功 • 1 - 回復可能なエラーです。タスクは、「 Environmental errors 」タブの設定に従って、障害発生箇所から回復します。 • 2 - テーブルエラーの発生。 テーブル・エラーが発生した場合、Replicateは「 Table Errors 」タブの設定に従って、エラーを処理します。 • 3 (もしくは、他の任意の値 例 100) - 致命的なエラーです。タスクは失敗し、回復を試みません。 • Internal Parameterによるポストコマンド終了コードの設定 • internal parametersを使用して、カスタム値で終了コードを設定することができます。これは、他のアプリケーションがすでに標準の終了コードの値を 使用している場合に特に便利です。 • 以下の各コードの説明は、上記の「標準的な終了コード」を参考にしてください。 • successExitCode • recoverableErrorExitCode • tableErrorExitCode • fatalErrorExitCode
  • 48. 48 高度な接続プロパティの設定 • Internal parameters: • 内部パラメータは、UIで公開されていないパラメータです。Qlikサポートの指示があった場合のみ使用してください。 • internal Qlik Replicate parametersを追加するには: • Internal Parameters リンクをクリックします。 • Internal Parameters ダイアログボックスが開きます。 • 編集ボックスで、 追加するパラメータの名前を入力し、クリックします。 • 検索ボックスの下のテーブルに、パラメータがデフォルト値で追加されます。 • 必要に応じてデフォルト値を変更します。 • パラメータの値をデフォルトに戻すには、行の最後にある「Restore default value」アイコンをクリックします。 • More Options • これらのオプションは、特定のバージョンや環境にのみ関連するため、UIには表示されません。したがって、Qlikサポートや製品マニュアルで明示的に 指示されていない限り、これらのオプションを設定しないでください。 • オプションを設定するには、オプションを「Add feature name」フィールドにコピーして「Add」をクリックします。その後、受け取った指示に従ってオプシ ョンの値を設定したり、有効にしたりします。 • Settings summary • 「Setting Summary 」リンクをクリックすると、設定の概要を表示することができます。この機能は、Qlikサポートに設定の概要を送信する必要があ る場合に便利です。
  • 49. 49 Reference filesの作成 • File TargetエンドポイントのAdvancedタブでは、Generate a Reference Fileオプションを有効にすることができます。Reference FileにはChange Fileの場所のリストが含まれているため、タスクの[Apply Changes]または[Store Changes]オプションが有効になっている場合にのみ関連性があります。 • Reference File 名の形式は以下に従います。: • <Fileターゲットエンドポイント名><カウンター>.csv|json • 例: FileTarget00000001.csv ※ カウンターサフィックスは、新しいReference Fileが生成されるたびに(つまり、ファイルが[General]タブで定義された最大サイズに達したときに)段階的に 増加します。新しいReference Fileが生成された後、必要に応じて古いReference Fileを削除することができます。 • 「Apply Changes」データファイルが作成されるたびに、次のような形式でReference Fileに新しい行が追加されます。 : • <ソーステーブル名>,<データファイルへのフルパス> • 例: MyTable,c:tempfiletargetdbo.MyTable20170102-091759447.csv • なお、[Advanced]タブの[Post-process files]オプションも有効になっている場合は、後処理が完了した後にReference Fileが生成されます。 ※ Post-process filesとDelete files (ポストプロセッシングの完了後)の両方のオプションを有効にすると、Reference Fileは生成されません。 ※ 「Archive files to folder(後処理完了後)」オプションを選択すると、データファイルのアーカイブ先を反映してReference Fileが更新されます。