MLプロジェクトでデータを操作するには、まずデータをロードする必要があります。データは、CSVファイル、XLSファイル、データベース、データセット、一時テーブルからロードできます。 BellaDati ML Studioで、行ごとまたはストリームとしてデータを読み取る方法は2つあります。 行ごとの読み取り行ごとにデータを読み取る場合、サイクルの内容(クロージャー)がファイルの各行に対して実行されます。行(サイクル)ごとに、これらの変数が設定されます: - row
- values[n] - 現在の行のn番目の列の値を返します。
- columns[n] - n番目の列の名前(ヘッダー)を返します。
- index - 行の番号を返します。
CSVファイルからの読み取りreadCSVFile()関数は、CSVファイルからデータをロードするために使用されています。関数は次のように定義されます: Code Block |
---|
| readCSVFile(String file, String separator, String escape, int limit, Closure<Object> closure) |
パラメーターパラメーター「file」「separator」は必須で、パラメーター「escape」「limit」「closure」は任意です。 - file - 読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
- separator - 値間の区切り文字(カンマ、セミコロンなど)を定義します。
- escape - テキストのエスケープに使用される文字を定義します。
- limit - ロードされる行の制限を定義します。
- closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーはパラメーターとして、または関数の本体として中括弧で記述する必要があります。したがって、パラメーターとしてオプションですが、一般的に必須です。詳細については、クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーはパラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovy closuresを参照してください。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| def rows = 0
readCSVFile('file.csv', ',', '', 10) {
rows++
println index
println values[1]
}
println rows |
このコードは、ファイルの最初の10行の行インデックスと2列目の値をコンソールに出力します。ループの終了後、反復の総数(この場合は10)が表示されます。 XLSファイルからの読み取り関数readXLSFilereadXLSFile()は、XLSファイルからデータをロードするために使用されます。関数は次のように定義されます関数は、XLSファイルからデータをロードするために使用されます。関数は次のように定義されます: Code Block |
---|
| readXLSFile(String file, int limit, Closure<Object> closure) |
パラメーターパラメーター「file 」は必須で、パラメーター「limit」「closure 」は任意です。 - file - 読込対象ファイル名を定義します。このファイルはプロジェクトへアップロードする必要があります。読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
- limit - 読込対象行の制限を定義する。 ロードされる行の制限を定義します。
- closure - クロージャはファイルの各行のごとに実行されるコードブロックです。クロージャはパラメーターまたは中括弧で関数の本体として書込みがあります。基本的は必須ですが、任意のパラメーターとして設定することができます。詳細は、Groovyクロージャ クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメータとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| def rows = 0
readXLSFile('samplexls.xls', 5){
rows++
println index
println values[1]
}
println rows |
このコードはファイルの先頭5行の2番目の列の行インデックスと値をコンソールに印刷します。 ループを終了した後、総計反復回数を表示ます。この場合には5になります。このコードは、ファイルの最初の5行の行インデックスと2列目の値をコンソールに出力します。ループの終了後、反復の総数(この場合は5)が表示されます。 SQLデータベースからの読込データベースからの読み取りreadSQL関数は、SQLデータベースからデータをロードするために使用されます。この関数は、以前にBellaDatiで定義されたSQL接続を使用します。詳細については、Data Sourcesを参照してください。 関数は次のように定義されます: readSQLの関数の目的はSQLデータベースからデータを読込する為です。 この関数はBellaDati に事前に定義されているSQL接続を使用します。 詳細はデータソースをご参照ください。 この関数は以下のように定義されます。 Code Block |
---|
| readSQL(Long id, String sql, int limit, Closure<Object> closure) |
パラメーターパラメーター「id」「sql」は必須で、パラメーター「limit」「closure」は任意です。 - id - データソースのIDを定義します。データソースのIDを定義します。コードビルダーで設定できます。
- sql - SQLクエリを定義します。 SQLクエリーを定義します。
- limit - 読込対象行の制限を定義する。ロードされる行の制限を定義します。
- closure - クロージャはファイルの各行のごとに実行されるコードブロックです。クロージャはパラメーターまたは中括弧で関数の本体として書込みがあります。基本的は必須ですが、任意のパラメーターとして設定することができます。詳細は、Groovyクロージャ クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| readSQL(1, 'select * from customers', 10) {
println values[0]
rows++
println columns[0]
}
println rows |
このコードはID 1のデータベース接続を使用することで得意先テーブルから10行分で全てのコラムを読み込みます。このコードは、ID 1のデータベース接続を使用し、顧客テーブルから10行のすべての列をロードします。 データセットからの読込データセットからの読み取りreadDataset()の関数の目的はデータセットからデータを読込する為です。 この関数は以下のように定義されます。 Code Block |
---|
| readDataset(Integer id, int limit, Closure<Object> closure) |
パラメーターパラメーター「id」は必須で、パラメーター「limit」「closure」は任意です。 - id - データセットのIDを定義します。コードビルダーに設定されることも、データセットのURLに設定することもできます
- limit - 読込対象行の制限を定義する。
- closure - クロージャはファイルの各行のごとに実行されるコードブロックです。クロージャはパラメーターまたは中括弧で関数の本体として書込みがあります。基本的は必須ですが、任意のパラメーターとして設定することができます。詳細は、Groovyクロージャを参照してください。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| readDataset(10,5) {
println values[0]
println columns[0]
} |
このコードはID 10のデータセットを使用することで5行分で一番目のコラムの名称・値を読み込みます。 テーブルからの読込table()の関数の目的は事前にプロジェクトに保存された一時テーブルからデータを読込する為です。このテーブルは現行のセッションにのみ使用できます。この関数は以下のように定義されます。 Code Block |
---|
| table(String id, Closure<Object> closure) |
パラメーターパラメーター「id」は必須で、パラメーター「closure」は任意です。 - id - テーブルのID(名称)を定義します。テーブルを作成する時にIDを設定します。
- closure - クロージャはファイルの各行のごとに実行されるコードブロックです。クロージャはパラメーターまたは中括弧で関数の本体として書込みがあります。基本的は必須ですが、任意のパラメーターとして設定することができます。詳細は、Groovyクロージャを参照してください。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| table('table') {
println values[0]
} |
このコードはファイルの各行毎の1番目の列の値をコンソールに印刷します。 ストリームとして読み込むストリームとしてデータを読み込む場合、行は反復されませんが、その代わりに入力ストリームとして一度に送信します。通常は1行ずつ読むのが良いです。Pythonスクリプトなど必要に応じてストリームだけを利用すると提案します。 CSVファイルからのストリームstreamCSVFile()の関数の目的はCSVファイルからデータをストリームする為です。この関数は以下のように定義されます。 Code Block |
---|
| streamCSVFile(String file, String separator, String escape, int limit) |
パラメーターパラメーター「file」「separator 」は必須で、パラメーター「escape」「limit 」は任意です。 - file - 読込対象ファイル名を定義します。このファイルはプロジェクトへアップロードする必要があります。
- separator - コンマ、セミコロンなどの各値の間に区切り文字を定義します。
- escape - テキストのエスケープ文字を定義します。
- limit - 読込対象行の制限を定義する。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| println org.apache.commons.io.IOUtils.toString(streamCSVFile('train_v2.csv',',')) |
このコードはコンマで区切りられるファイルの全ての値を印刷します。 XLSファイルからのストリームstreamXLSFile()の関数の目的はXLSファイルからデータをストリームする為です。この関数は以下のように定義されます。 Code Block |
---|
| streamXLSFile(String file, int limit) |
パラメーターパラメーター「file」は必須で、パラメーター「limit 」は任意です。 - file - 読込対象ファイル名を定義します。このファイルはプロジェクトへアップロードする必要があります。
- limit - 読込対象行の制限を定義する。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| println org.apache.commons.io.IOUtils.toString(streamXLSFile('samplexls.xls',5)) |
このコードはコンマで区切りられるファイルの先頭5行を印刷します。 SQLデータベースからのストリームstreamXLSFile()の関数の目的はXLSファイルからデータをストリームする為です。この関数は以下のように定義されます。 Code Block |
---|
| streamSQL(Long id, String sql, int limit) |
パラメーターパラメーター「id 」は必須です。 - id - データセットのIDを定義します。コードビルダーに設定されることも、データセットのURLに設定することもできます
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| println org.apache.commons.io.IOUtils.toString(streamSQL(1, 'select * from table',5)) |
このコードはコンマで区切りられるテーブルの先頭5行を印刷します。 データセットからのストリームstreamDataset()の関数の目的はデータセットからデータをストリームする為です。この関数は以下のように定義されます。 Code Block |
---|
| streamDataset(Integer id) |
パラメーターパラメーター「id」は必須です。 - id - データソースのIDを定義します。コードビルダーに設定されます。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| println org.apache.commons.io.IOUtils.toString(streamDataset(1)) |
このコードがデータセットから全ての列を印刷します。 テーブルからのストリームstreamTable()関数の目的はプロジェクトに事前に保存された一時テーブルからデータをストリームする為です。このテーブルは現行のセッションだけに利用可能です。この関数は以下のように定義されます。 Code Block |
---|
| streamTable(Integer id) |
パラメーターパラメーター「id」は必須です。 - id - テーブルのID(名称)を定義します。テーブルを作成する時にIDを設定します。
使用例 Code Block |
---|
language | groovy |
---|
linenumbers | true |
---|
| println org.apache.commons.io.IOUtils.toString(streamTable('table')) |
このコードがテーブルから全ての列を印刷します。 |