Write Database
概要
この演算子は、ExampleSetをSQLデータベースに書き込みます。
詳細
データベースの書き込み演算子は、指定されたSQLデータベースにExampleSetを書き込むために使用されます。この演算子を適切に使用するには、データベースとデータベース接続の少なくとも基本的な理解が必要です。この演算子のフローを理解するには、パラメーターと添付のサンプルプロセスを確認してください。
ユーザーは、データベース接続とテーブル名を指定できます。テーブルが存在しない場合、書き込み中にテーブルが作成されることに注意してください。必要なパラメータを定義する最も便利な方法は、 データベース接続の管理ウィザードです。最も重要なパラメーター(データベースURLおよびユーザー名)は、このウィザードによって自動的に決定されます。最後に、テーブル名を定義するだけです。この演算子は、すべての標準および特殊属性とすべての例で構成される完全なExampleSetの書き込みのみをサポートします。これが望ましくない場合は、データベースの書き込み演算子を適用する前に、属性の選択演算子やサンプルのフィルター演算子などの前処理演算子を実行します。データベーステーブルからのデータは、Read Databaseオペレーターを使用してRapidMinerで読み取ることができます。
入力
- 入力 (IOObject)この入力ポートには、ExampleSetが必要です。添付のプロセス例のRetrieveオペレーターの出力です。
- 接続 (接続)この入力ポートは、Connectionオブジェクトがあればそれを想定しています。詳細については、パラメータ接続エントリを参照してください。
出力
- スルー(IOObject)入力ポートで提供されたExampleSetは、変更なしでこの出力ポートを介して配信されます。これは通常、プロセスのさらに別の演算子で同じExampleSetを再利用するために使用されます。
- 接続(接続)この出力ポートは、入力ポートから接続オブジェクトを配信します。入力ポートが接続されていない場合、ポートは何も配信しません。
パラメーター
- define_connectionこのパラメーターは、データベース接続の指定方法を示します。リポジトリ、事前定義、url、jndiの4つのオプションがあります。 接続入力ポートが接続されている場合、パラメーターは表示されません。 範囲:選択
- connection_entryこのパラメーターは、 接続定義パラメーターがrepositoryに設定されている場合にのみ使用可能です 。このパラメータは、接続エントリを表すリポジトリの場所を指定するために使用されます。接続は、 接続入力ポートを使用して提供することもできます。 範囲:文字列
- connectionこのパラメーターは、 接続定義パラメーターが事前定義済みに設定されている場合にのみ使用可能です。このパラメーターは、事前定義された接続を使用してデータベースに接続するために使用されます。多くの定義済み接続を使用できます。ドロップダウンボックスを使用して、いずれかを選択できます。ドロップダウンボックスの横にあるボタンを使用して、新しい接続を追加したり、以前の接続を変更したりできます。また、メインウィンドウの[ ツール ]メニューから[データベース接続の管理… ]をクリックして、これを実行することもできます。新しいウィンドウが表示されます。このウィンドウでは、 ホスト、ポート、データベースシステム、スキーマ、ユーザー名 、 パスワードなど、いくつかの詳細を入力します 。この新しいウィンドウの[ テスト ]ボタンを使用すると、接続を確立できるかどうかを確認できます。テストが成功したら、接続を保存します。新しい接続を保存した後、 接続パラメーターのドロップダウンボックスから選択できます。接続を設定するには、データベースの基本的な理解が必要です。 範囲:文字列
- database_systemこのパラメーターは、 接続定義パラメーターがurlに設定されている場合にのみ使用可能です。このパラメータは、使用中のデータベースシステムを選択するために使用されます。 MySQL、PostgreSQL、Sybase、HSQLDB、ODBC Bridge(例:Access)、Microsoft SQL Server(JTDS)、Ingres、Oracleのいずれかの値を持つことができます。 範囲:選択
- database_urlこのパラメーターは、 接続定義パラメーターがurlに設定されている場合にのみ使用可能です。このパラメーターは、データベースのURL接続文字列を定義するために使用されます(例: ‘jdbc:mysql://foo.bar:portnr / database’)。 範囲:文字列
- usernameこのパラメーターは、 接続定義パラメーターがurlに設定されている場合にのみ使用可能です。このパラメーターは、データベースのユーザー名を指定するために使用されます。 範囲:文字列
- passwordこのパラメーターは、 接続定義パラメーターがurlに設定されている場合にのみ使用可能です。このパラメーターは、データベースのパスワードを指定するために使用されます。 範囲:文字列
- jndi_nameこのパラメーターは、 接続定義パラメーターがjndiに設定されている場合にのみ使用できます。このパラメーターは、JNDIにデータソースの名前を付けるために使用されます。 範囲:文字列
- table_nameこのパラメーターは、指定されたデータベースから必要なテーブルを選択するために使用されます。ここにテーブル名を書き込むこともできます。テーブルが存在しない場合は、書き込み中に作成されます。 範囲:
- overwrite_modeこのパラメーターは、既存のテーブルを上書きするか、既存のデータにデータを追加するかを示します。 範囲:選択
- set_default_varchar_lengthこのパラメーターを使用すると、 varchar列をデフォルトの長さに設定できます。 範囲:ブール
- default_varchar_lengthこのパラメーターは、 set default varchar lengthパラメーターがtrueに設定されている場合にのみ使用可能です。このパラメーターは、 varchar列のデフォルトの長さを指定します。 範囲:整数
- add_generated_primary_keysこのパラメーターは、自動生成された主キーを保持する新しい属性をデータベースのテーブルに追加する必要があるかどうかを示します。 範囲:ブール
- db_key_attribute_nameこのパラメーターは、 生成された主キーの追加パラメーターがtrueに設定されている場合にのみ使用できます。このパラメーターは、自動生成された主キーの属性の名前を指定します。 範囲:文字列
- batch_sizeこのパラメータは、データベースへの単一のクエリで一度に書き込まれるサンプルの数を指定します。値を大きくすると、速度が大幅に向上します。ただし、値が大きすぎると、パフォーマンスが大幅に低下する可能性があります。さらに、データベースによっては、一度に書き込まれる値の最大数に制限があります。 0に設定すると、バッチ処理が無効になります。 範囲:整数
チュートリアルプロセス
ExampleSetをmySQLデータベースに書き込む
「ゴルフ」データセットは、検索演算子を使用してロードされます。 Write Databaseオペレーターは、このデータセットをmySQLデータベースに書き込むために使用されます。接続定義パラメータは事前定義済みに設定され、ドロップダウンボックスの横にあるボタンを使用して設定されます。接続の名前は「mySQLconn」に設定されます。接続パラメーターのウィザードでは、次の値が設定されます。データベースシステムは「mySQL」に設定されます。ホストは「localhost」に設定されています。ポートは「3306」に設定されています。データベーススキームは「ゴルフ」に設定されています。これはデータベースの名前です。ユーザーは「root」に設定されます。パスワードは提供されません。データベースがパスワードで保護されている場合、パスワードが必要です。すべての値を設定し、接続をテストします。接続が機能することを確認してください。
テーブル名パラメータは「golf_table」に設定されます。これは「golf」データベース内の必要なテーブルの名前です。プロセスを実行すると、結果ワークスペースに「golf_table」全体が表示されます。 phpmyadminで「ゴルフ」データベースをチェックして、「ゴルフ_テーブル」を確認することもできます。データベースの読み取り演算子を使用して、データベースからこのテーブルを読み取ることができます。詳細については、データベースの読み取りオペレータのプロセス例をご覧ください。