CSVデータ書き込み処理

オペレーション名

CSVデータ書き込み

機能概要

HDFS(Hadoop Distributed File System)にCSV形式でファイルを書き込みます。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
HDFSファイルパス 必須 使用可 HDFSファイルのパスを入力します。
  • 以下の文字を使用することはできません。
    • 「 」(半角スペース)「<」「>」「"」「^」「[」「]」「{」「}」「%」「|」「`」「:」「;」
  • マルチバイト文字を使用することはできません。
列一覧 省略可 使用不可 列を指定します。

各列は以下のボタンで操作することができます。
  • [追加]:
    列を追加します。
  • [上へ]:
    選択している列の順序を一つ上に上げます。
  • [下へ]:
    選択している列の順序を一つ下に下げます。
  • [削除]:
    列を削除します。
  • [列一覧]で設定した列数分だけデータを読み取ります。
  • [列一覧]で設定した列名がMapperのスキーマに表示されます。
列一覧/列名 必須 使用可 列名を入力します。

[列一覧の更新]プロパティアクションで[HDFSファイルパス]で指定したファイルの1行目を列名として設定できます。
 
列一覧/クォーテーション 省略可 使用不可 各列をダブルクォーテーションで囲うかどうかを選択します。
  • [チェックあり]:
    列をダブルクォーテーションで囲みます。
  • [チェックなし]:(デフォルト)
    列をダブルクォーテーションで囲みません。
 
プロパティアクション
項目名 説明 備考
列一覧の更新 [HDFSファイルパス]で指定したファイルの1行目を列名として設定します。
  • 指定したファイルが存在しない場合、または[HDFSファイルパス]に変数が設定されている場合は無効になります。
ファイルの一行目から列名を読み取り ファイルチューザでファイルを選択して、そのファイルの1行目を列名として設定します。  
ファイルから列数を読み取り ファイルチューザでファイルを選択して、そのファイルの列数を列名の列数として設定します。  
書き込み設定
項目名 必須/省略可 変数の使用 説明 備考
エンコード 必須 使用可 書き込むファイルのエンコードを選択または入力します。

入力する場合は、Java SE Runtime Environment 8でサポートされているエンコードを指定します。
詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
  • デフォルト値は「UTF-8」です。
改行コード 省略可 使用不可 改行コードを選択します。
  • [AUTO]:(デフォルト)
    DataSpiderServerが稼働しているOSの改行コードになります。
    • Windowsの場合:
      CR+LF
    • UNIX/Linuxの場合:
      LF
  • [CR]:
  • [LF]:
  • [CR+LF]:
 
上書き 省略可 使用不可 指定したファイルが存在する場合、上書きするかどうかを選択します。
  • [チェックあり]:(デフォルト)
    上書きします。
  • [チェックなし]:
    上書きしません。すでにファイルが存在した場合はエラーとなります。
 
追加書き込み 省略可 使用不可 指定したファイルが存在する場合、ファイルの末尾に追加するまたは上書きするかを選択します。
  • [チェックあり]:
    ファイルの末尾に追加します。
  • [チェックなし]:(デフォルト)
    上書きします。
  • [上書き]にチェックを入れた場合のみ有効になります。
1行目に列名を挿入 省略可 使用不可 指定したファイルの1行目に列名を挿入するかどうかを選択します。
  • [チェックあり]:
    [列一覧][列名]が1行目に挿入されます。
  • [チェックなし]:(デフォルト)
    列名は挿入されません。
  • 列名は書き込み先ファイルの1行目ではなく、結果データの1行目に挿入されます。
ファイルが存在する場合は列名を挿入しない 省略可 使用不可 指定したファイルが存在する場合、結果データの1行目に列名を挿入するかどうかを選択します。
  • [チェックあり]:
    指定したファイルが存在する場合、結果データの1行目に列名を挿入しません。
  • [チェックなし]:(デフォルト)
    結果データの1行目に列名を挿入します。
  • [1行目に列名を挿入]にチェックを入れた場合のみ有効になります。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 必須 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

[列一覧]の設定により、カラム数が異なります。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

出力スキーマ

ありません。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPで使用できます。
PSPについては、「パラレルストリーミング処理」を参照してください。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
count 書き込んだデータの件数が格納されます。
  • デフォルト値はnullです。
  • PSPでは値が格納されません。
filePath 書き込み先のファイルのパスが格納されます。
  • デフォルト値はnullです。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InputDataNotFoundException [入力データ]が指定されていません。 [入力データ]を指定する、またはデータフローを引いてください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
FileExistsException [HDFSファイルパス]に指定されたファイルがすでに存在します。 [HDFSファイルパス]のファイル名を変更する、または[書き込み設定][上書き]にチェックを入れてください。
FileIsDirectoryException [HDFSファイルパス]に入力されたパスがディレクトリです。 [HDFSファイルパス]にはファイルパスを入力してください。
java.io.UnsupportedEncodingException [エンコード]にサポートされていないエンコードが指定されています。 Java SE Runtime Environment 8でサポートされているエンコードを指定してください。
詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
java.io.IOException
io.bytes.per.checksum(512) and blockSize(<ブロックサイズの数値>) do not match. blockSize should be a multiple of io.bytes.per.checksum
[ブロックサイズ]の値がHDFSのio.bytes.per.checksum値の倍数になっていません。 [接続先]で指定したグローバルリソースの[ブロックサイズ]の値を確認してください。