# tNetezzaNzLoad

Netezzaのnzloadユーティリティを使って、データをNetezzaデータベーステーブルに挿入します。

tNetezzaNzLoadは、既存のデータファイル、入力フローから、または名前付きパイプを介してストリーミングモードのデータフローから直接、Netezzaテーブルにデータを一括ロードします。

## tNetezzaNzLoadの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtNetezzaNzLoadを設定するために使われます。

標準のtNetezzaNzLoadコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | <ul> <li> <p> <span><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</span></p> </li> <li> <p> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</p> </li> </ul> |
| [Host] (ホスト) | データベースサーバーのIPアドレス。 |
| [Port] (ポート) | DBサーバーのリスニングポート番号。 |
| [Database] (データベース) | Netezzaデータベースの名前。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Table] (テーブル) | データが挿入されるテーブルの名前。 |
| [Action on table] (テーブルでのアクション) | データをロードする前に、定義済みのテーブルで次の操作の1つを実行できます。<br><br>[None] (なし): 操作は行われません。<br><br>[Drop and create a table] (ドロップしてテーブルを作成): テーブルが削除され、再び作成されます。<br><br>[Create a table] (テーブルの作成): テーブルが存在せず、作成されます。<br><br>[Create table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。<br><br>[Drop table if exist and create] (テーブルが存在する場合はドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。<br><br>[Clear table] (テーブルをクリア): データがロードされる前にテーブルのコンテンツが削除されます。<br><br>[Truncate table] (テーブルを切り詰め): データをロードする前にtruncateステートメントを実行して、テーブルのコンテンツ全体をクリアします。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語の<kbd>line</kbd>を避けます。</p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> <li> <p>スキーマを変更するには<span>[Edit schema] (スキーマを編集)</span>をクリックします。現在のスキーマが<span>リポジトリー</span>タイプの場合は、3つのオプションを利用できます。</p> <ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> </li> </ul> |
| [Data file] (データファイル) | 使うデータファイルへの完全パス。このコンポーネントが単独で使われる場合(入力フローを使って別のコンポーネントに接続されていない場合)、これはデータベースにロードされる既存のデータファイルの名前です。接続されている場合は、入力フローを使って別のコンポーネントに接続されています。これは、後でデータベースにロードするためにnzloadで使うために、生成されて着信データと共に書き込まれるファイルの名前です。 |
| [Use named-pipe] (名前付きパイプを使う) | データファイルの代わりに名前付きパイプを使うには、このチェックボックスをオンにします。このオプションは、コンポーネントが入力フローで別のコンポーネントに接続されている場合にのみ使えます。チェックボックスがオンの場合、データファイルは生成されず、データは名前付きパイプを介してnzloadに転送されます。このオプションにより、LinuxとWindowsの両方でパフォーマンスが大幅に向上します。<br><br>情報メモ注:<br><br>名前付きパイプモードのこのコンポーネントは、JNIインターフェイスを使って、任意のWindowsプラットフォームで名前付きパイプの作成と書き込みを行います。したがって、関連するJNI DLLへのパスは、Javaライブラリーパス内で設定する必要があります。コンポーネントには、32ビットと64ビットの両方のオペレーティングシステム用の2つのDLLが付属しています。これらのDLLは、コンポーネントと共にTalend Studioで自動的に提供されています。 |
| [Named-pipe name] (名前付きパイプの名前) | 使う名前付きパイプの名前を指定します。入力した名前が有効であることをご確認ください。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Additional JDBC Parameters] (追加のJDBCパラメーター) | 作成するデータベース接続に追加のJDBCパラメーターを指定します。 |
| [Use existing control file] (既存の制御ファイルを使用) | コンポーネントですべてのオプションを明示的に指定する代わりに、nzloadユーティリティで使う制御ファイルを提供するには、このチェックボックスをオンにします。このチェックボックスをオンにすると、[Data file] (データファイル)とその他のnzload関連オプションは適用されなくなります。制御ファイルの作成の詳細は、Netezzaのnzloadマニュアルをご覧ください。<br><br>情報メモ注:<br><br>制御ファイルの使用中は、グローバル変数NB\_LINEはサポートされません。 |
| [Control file] (制御ファイル) | 使う制御ファイルのパスを二重引用符で囲んで入力するか、[...]をクリックして制御ファイルを参照します。このオプションは*-cf*引数を介してnzloadユーティリティに渡されます。 |
| [Field separator] (フィールド区切り) | フィールドを区切るために使う文字、文字列、または正規表現。<br><br>情報メモ警告:<br><br>*これはnzloadのdelim引数です。[Wrap quotes around fields] (フィールドを引用符で囲む)オプションを使わない場合は、データベースに挿入されるデータに区切りが含まれていないことを確認する必要があります。デフォルト値は\tまたはTABです。パフォーマンスを向上させるには、デフォルト値を使います。* |
| [Wrap quotes around fields] (フィールドを引用符で囲む) | このオプションは、*String*、*Byte*、*Byte[]*、*Char*、*Object*型のカラムにのみ適用されます。次のいずれかを選択します。<br><br>[None] (なし): カラム値が引用符で囲まれません。<br><br>[Single quote] (一重引用符): カラムの値が一重引用符で囲まれます。<br><br>[Double quote] (二重引用符): カラムの値が二重引用符で囲まれます。<br><br>情報メモ警告:<br><br>*[Single quote] (一重引用符)オプションまたは[Double quote] (二重引用符)オプションを使う場合は、[Escape char] (エスケープ文字)として\を使う必要があります。* |
| [Advanced options] (詳細オプション) | nzload引数を対応するテーブルに設定します。[+]を必要な回数だけクリックしてして、テーブルに引数を追加します。[Parameter] (パラメーター)フィールドをクリックして、リストから引数を選択します。次に、対応する[Value] (値)フィールドをクリックして、値を引用符で囲んで入力します。<br><br>使用可能なパラメーターの詳細は、[\[Parameters\] (パラメーター)](https://help.qlik.com/talend/ja-JP/components/8.0/netezza/tnetezzanzload)をご覧ください。 |
| [Encoding] (エンコーディング) | リストからエンコーディングのタイプを選択します。 |
| [Specify nzload path] (nzloadパスを指定) | nzload実行可能ファイルへの完全パスを指定するには、このチェックボックスをオンにします。nzloadパスがPATH環境変数で指定されていない場合は、このオプションをオンにする必要があります。 |
| [Full path to nzload executable] (nzload実行可能ファイルへの完全パス) | 使用中のマシン上のnzload実行可能ファイルへの完全パス。このオプションを選択する代わりに、PATH環境変数でnzloadパスを指定することをお勧めします。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
| [Enable parallel execution] (並列実行を有効化) | このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。<br><br><ul> <li>実行する並列実行の数を入力します。</li> <li><span>Ctrl + スペース</span>を押し、リストから適切なコンテキスト変数を選択します。コンテキスト変数の詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables" target="_blank">コンテキストと変数を使用</a>をご覧ください。 </li> </ul><br><br>並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。<br><br>情報メモ警告:<br><br><ul><li> <span>[Action on table] (テーブルでのアクション)</span>フィールドは、並列化ファンクションでは利用できません。したがって、テーブルを作成する場合は、<span>tCreateTable</span>のコンポーネントを使用する必要があります。 </li><li> 						            並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得できません。 </li> </ul> |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 処理された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、データベースにロードするデータが特定の変換を必要としない場合に主に使います。<br><br>このコンポーネントは、スタンドアロンコンポーネントまたは出力コンポーネントとして使えます。 |

## [Parameters] (パラメーター)

次のテーブルに、[Advanced settings] (詳細設定)タブの[Advanced options] (詳細オプション)テーブルで使えるパラメーターをリスト表示します。

| -If | 生成するファイルの名前。ログファイルが既に存在する場合は、ログが追加されます。パラメーターが指定されていない場合、ログファイルのデフォルト名は'*&lt;table\_name&gt;.&lt;db\_name&gt;.nzlog*'です。そして、ジョブが実行されている現在の作業ディレクトリーの下に生成されます。 |
| --- | --- |
| -bf | 生成する不良ファイルの名前。不良ファイルには、Netezzaの内部エラーのためにロードできなかったすべてのレコードが含まれています。不良ファイルが既に存在する場合は、レコードが追加されます。パラメーターが指定されていない場合、不良ファイルのデフォルト名は'*&lt;table\_name&gt;.&lt;db\_name&gt;.nzbad*'です。そして、ジョブが実行されている現在の作業ディレクトリーの下に生成されます。 |
| -ouputDir | ログと不良ファイルが生成されるディレクトリーパス。パラメーターが指定されていない場合は、ファイルはジョブが実行中である現在のディレクトリーの下で生成されます。 |
| -logFileSize | ログファイルの最大サイズ。値の単位はMBです。デフォルト値は2000、すなわち2GBです。ハードディスク容量を節約するには、ジョブが頻繁に実行される場合、より少なめの量を指定します。 |
| -compress | データファイルが圧縮されている場合は、このオプションを指定します。有効な値は"TRUE"または"FALSE"です。デフォルト値は"FALSE"です。<br><br>このオプションは、このコンポーネントが単独で使われ、入力フローを介して別のコンポーネントに接続されていない場合にのみ有効です。 |
| -skipRows &lt;n&gt; | データファイルの先頭からスキップする行数。データファイルからヘッダー行をスキップする場合は、値を"1"に設定します。デフォルト値は"0"です。<br><br>このオプションは、このコンポーネントが単独で使われ、入力フローを介して別のコンポーネントに接続されていない場合にのみ使ってください。 |
| -maxRows &lt;n&gt; | データファイルからロードする最大行数。<br><br>このオプションは、このコンポーネントが単独で使われ、入力フローを介して別のコンポーネントに接続されていない場合にのみ使ってください。 |
| -maxErrors | ロードプロセスを終了する前に許可するエラーレコードの最大数。デフォルト値は"1"です。 |
| -ignoreZero | 入力データのバイナリゼロバイトはエラーを生成します。このオプションを"NO"に設定してエラーを生成するか、"YES"に設定してゼロバイトを無視します。デフォルト値は"NO"です。 |
| -requireQuotes | このオプションでは、すべての値を引用符で囲む必要があります。デフォルト値は"FALSE"です。<br><br>このオプションは現在、入力フローでは機能しません。このオプションは、既存のファイルに対してスタンドアロンモードでのみ使ってください。 |
| -nullValue &lt;トークン&gt; | データファイル内でnull値を示すトークンを指定します。デフォルト値は"NULL"です。パフォーマンスをわずかに改善するには、値を一重引用符"\ '\'"に指定して、この値を空のフィールドに設定するという方法があります。 |
| -fillRecord | 欠落している後続の入力フィールドをnullとして扱います。テーブルの値フィードにこのオプションの値を指定する必要はありません。このオプションはデフォルトではオフになっているため、入力フィールドはデフォルトでテーブルのすべてのカラムと完全に一致している必要があります。<br><br>後続の入力フィールドは、データベース内でNULL可能でなければなりません。 |
| -ctrlChar | char/varcharフィールドに制御文字を受け入れます(NUL、CR、LFをエスケープする必要があります)。テーブルの値フィードにこのオプションの値を指定する必要はありません。このオプションはデフォルトでオフになっています。 |
| -ctInString | char/varcharフィールドにエスケープされていないCRを受け入れます(行末はLFのみとなります)。テーブルの値フィードにこのオプションの値を指定する必要はありません。このオプションはデフォルトでオフになっています。 |
| -truncString | 宣言されたchar/varcharのストレージを超える文字列値を切り捨てます。テーブルの値フィードにこのオプションの値を指定する必要はありません。このオプションはデフォルトでオフになっています。 |
| -dateStyle | 入力データを書き込む日付形式を指定します。有効な値は、"YMD"、"Y2MD"、"DMY"、"DMY2"、"MDY"、"MDY2"、"MONDY"、"MONDY2"です。デフォルト値は"YMD"です。<br><br>コンポーネントのスキーマのカラムの日付形式は、ここで指定した値と一致している必要があります。たとえば、DATEカラムをロードする場合は、コンポーネントスキーマで日付形式を"yyyy-MM-dd"に、-dateStyleオプションを"YMD"に指定します。<br><br>日付と時刻フィールドの読み取りの詳細は、[DATE、TIME、TIMESTAMPカラムをロードする](https://help.qlik.com/talend/ja-JP/components/8.0/netezza/tnetezzanzload)をご覧ください。 |
| -dateDelim | 日付部分を区切る区切り文字。" " (空のスペース)である"MONDY[2]"を除き、デフォルト値はすべての日付スタイルで"-"です。<br><br>コンポーネントのスキーマのカラムの日付形式は、ここで指定した値と一致している必要があります。 |
| -y2Base | 2桁の年(Y2)のdateStyleを使って表現できる最初の年。 |
| -timeStyle | 入力データを書き込む時間形式を指定します。有効な値は"24HOUR"と"12HOUR"です。デフォルト値は"24HOUR"です。わずかでもパフォーマンスを良くするには、デフォルト値を維持する必要があります。<br><br>コンポーネントのスキーマのカラムの時間形式は、ここで指定した値と一致している必要があります。たとえば、TIMEカラムをロードする場合は、コンポーネントスキーマで日付形式を"HH:mm:ss"に、timeStyleオプションを"24HOUR"に指定します。<br><br>日付と時刻フィールドの読み取りの詳細は、[DATE、TIME、TIMESTAMPカラムをロードする](https://help.qlik.com/talend/ja-JP/components/8.0/netezza/tnetezzanzload)をご覧ください。 |
| -timeDelim | 時間部分を区切る区切り文字。デフォルト値は":"です。<br><br>情報メモ注:<br><br>コンポーネントのスキーマのカラムの時間形式は、ここで指定した値と一致している必要があります。 |
| -timeRoundNanos | マイクロ秒未満の分解で、ゼロ以外の桁を許可しますが丸めます。 |
| -boolStyle | ブール型データをデータに書き込む形式を指定します。有効な値は、"1\_0"、"T\_F"、"Y\_N"、"TRUE\_FALSE"、"YES"です。デフォルト値は"1\_0"です。わずかでもパフォーマンスを良くするには、デフォルト値を維持してください。 |
| -allowRelay | 1回以上のSPUのリセットまたはフェイルオーバーの後にロードを続行できるようにします。デフォルトの動作は許可されていません。 |
| -allowRelay &lt;n&gt; | ロードの許容継続回数を指定します。デフォルト値は"1"です。 |

## DATE、TIME、TIMESTAMPカラムをロードする

このコンポーネントを入力フローで使う場合、コンポーネントのスキーマ内で指定する日付形式は、-dateStyle、-dateDelim、-timeStyle、-timeDelimオプションに指定された値と一致している必要があります。

| DBタイプ | スキーマの日付形式 | -dateStyle | -dateDelim | -timeStyle | -timeDelim |
| --- | --- | --- | --- | --- | --- |
| 日付 | "yyyy-MM-dd" | "YMD" | "-" | N/A | N/A |
| 時刻 | "HH:mm:ss" | N/A | N/A | "24HOUR" | ":" |
| タイムスタンプ | "yyyy-MM-dd HH:mm:ss" | "YMD" | "-" | "24HOUR" | ":" |