文書書き込み処理

オペレーション名

文書書き込み

機能概要

入力データを文書としてSedueに書き込みます。

データモデル

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

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
スキーマ定義 必須 - スキーマ定義を表示します。
  • blob型のフィールドは表示されません。
スキーマ定義/列名 必須 使用不可 フィールド名を表示します。  
スキーマ定義/型 必須 使用不可 [列名]のデータ型を表示します。  
キーフィールド 必須 使用不可 キーとなるフィールドを選択します。
  • データ型がstringであるフィールドのみ選択できます。
プロパティアクション
項目名 説明 備考
スキーマ定義の更新 [スキーマ定義]および[キーフィールド]を更新します。  
書き込み設定
項目名 必須/省略可 変数の使用 説明 備考
即座に検索対象にする 省略可 使用不可 書き込んだ文書を即座にリアルタイム検索の検索対象にするかどうかを選択します。
  • [チェックあり]:
    書き込んだ文書を即座に検索対象にします。
  • [チェックなし]:(デフォルト)
    書き込んだ文書を即座に検索対象にしません。
  • 書き込んだ文書が即座にリアルタイム検索の検索対象になるためには、 アーカイブが分散ファイルシステム上に作成されており、かつサーチャーにデプロイされている必要があります。
  • 有効にした場合、書き込み単位は1件ずつとなります。
書き込み単位(文書) 必須 使用可 1回の書き込み依頼に含める最大の文書数を入力します。
  • デフォルト値は「500」です。
  • [即座に検索対象にする]にチェックを入れた場合、無効になります。
  • 詳細については、「書き込み単位」 を参照してください。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

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

出力スキーマ

ありません。

Mapperでのスキーマ読み込み

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

トランザクション

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

PSPでの使用について

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

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

コンポーネント変数名 説明 備考
count 書き込んだ文書の件数が格納されます。
  • デフォルト値は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のバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

大量の文書を書き込む場合について

自動インデクシング

初回登録時など大量の文書を書き込む場合には、Sedueの自動インデクシングを無効にしてください。
自動インデクシングが有効の場合、書き込み中にインデクシングが実施されてSedueに負荷がかかり、大幅に時間がかかる、または、書き込みに失敗する場合があります。

なお、DataSpiderServerとSedueが同一筐体にインストールされている場合、外部アプリケーション起動処理から「sedue_shell」を実行することで、 スクリプト内で自動インデクシングの有効/無効を切り替えることができます。
以下は自動インデクシングを無効にする場合の外部アプリケーション起動処理の設定例です。

項目名 設定値
起動コマンド /bin/sh
起動引数1 -c
起動引数2 echo "configure archive, :automatic_update => false" | sedue_shell -i <Sedueインスタンス名>

書き込み単位

[書き込み単位(文書)]の設定値が小さいほど、書き込み依頼の送信回数は大きくなりますが、DataSpiderServerおよびSedueのメモリ使用量は小さくなります。
逆に設定値が大きいほど、メモリ使用量は大きくなりますが、書き込み依頼の送信回数は小さくなります。

大量の文書を書き込む場合のパフォーマンスを改善したい際には、DataSpiderServerおよびSedueが使用可能なメモリ容量に応じて、デフォルト値からの変更を検討してください。

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
java.net.UnknownHostException
<ホスト名>
[接続先]で指定したグローバルリソースのホスト名が見つかりません。 [接続先]で指定したグローバルリソースの[クエリーサーバー/ホスト名][アーカイブマネージャー/ホスト名]を確認してください。
org.apache.http.conn.HttpHostConnectException
Connection to http://<ホスト名>:<ポート番号> refused
[接続先]で指定したグローバルリソースの環境に接続できません。 [接続先]で指定したグローバルリソースのプロパティを確認してください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
SchemaNotSynchronizedException
スキーマ定義が同期されていません。
[スキーマ定義]とSedueに登録されているスキーマが異なります。 [スキーマ定義の更新]を押下して、[スキーマ定義]を更新してください。
InvalidKeyDataException
キーに入力値がありません。
[キーフィールド]に指定したフィールドへの入力値がnullもしくは空文字でした。 [キーフィールド]に指定したフィールドへの入力値にはnullと空文字を使用しないでください。
SedueException
文書の書き込みに失敗しました。ステータスコード: 503
文書書き込み処理が失敗しました。 アーカイブマネージャーのエラーログを確認してください。
org.apache.http.NoHttpResponseException
The target server failed to respond
Sedueからの応答がありませんでした。 以下のことを行ってください。
  • アーカイブマネージャーが起動しているかどうかを確認してください。
  • 自動インデクシングを無効にしてSedueへの負荷を軽減してください。

注意事項