MLプロジェクトでデータを操作するには、まずデータをロードする必要があります。データは、CSVファイル、XLSファイル、データベース、データセット、一時テーブルからロードできます。 BellaDati ML Studioで、行ごとまたはストリームとしてデータを読み取る方法は2つあります。

行ごとの読み取り

行ごとにデータを読み取る場合、サイクルの内容(クロージャー)がファイルの各行に対して実行されます。行(サイクル)ごとに、これらの変数が設定されます:

  • row
  • values[n]現在の行のn番目の列の値を返します。
  • columns[n]n番目の列の名前(ヘッダー)を返します。
  • index行の番号を返します。

CSVファイルからの読み取り

readCSVFile()関数は、CSVファイルからデータをロードするために使用されています。関数は次のように定義されます:

readCSVFile(String file, String separator, String escape, int limit, Closure<Object> closure)

パラメーター

パラメーター「file」「separator」は必須で、パラメーター「escape」「limit」「closure」は任意です。

  • file読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
  • separator値間の区切り文字(カンマ、セミコロンなど)を定義します。
  • escape - テキストのエスケープに使用される文字を定義します。
  • limit - ロードされる行の制限を定義します。
  • closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーはパラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovy closuresを参照してください。

使用例

def rows = 0
readCSVFile('file.csv', ',', '', 10) {
  rows++
  println index
  println values[1]
}
println rows

このコードは、ファイルの最初の10行の行インデックスと2列目の値をコンソールに出力します。ループの終了後、反復の総数(この場合は10)が表示されます。

XLSファイルからの読み取り

readXLSFile()関数は、XLSファイルからデータをロードするために使用されます。関数は次のように定義されます:

readXLSFile(String file, int limit, Closure<Object> closure)

パラメーター

パラメーター「file 」は必須で、パラメーター「limit」「closure 」は任意です。

  • file - 読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
  • limit - ロードされる行の制限を定義します。
  • closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメータとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。

使用例

def rows = 0
readXLSFile('samplexls.xls', 5){
  rows++
  println index
  println values[1]
}

println rows

このコードは、ファイルの最初の5行の行インデックスと2列目の値をコンソールに出力します。ループの終了後、反復の総数(この場合は5)が表示されます。

SQLデータベースからの読み取り

readSQL関数は、SQLデータベースからデータをロードするために使用されます。この関数は、以前にBellaDatiで定義されたSQL接続を使用します。詳細については、データソースを参照してください。

関数は次のように定義されます:

 

readSQL(Long id, String sql, int limit, Closure<Object> closure)

パラメーター

パラメーター「id」「sql」は必須で、パラメーター「limit」「closure」は任意です。

  • idデータソースのIDを定義します。コードビルダーで設定できます。
  • sql - SQLクエリーを定義します。
  • limit - ロードされる行の制限を定義します。
  • closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。従って、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。

使用例

readSQL(1, 'select * from customers', 10) {
  println values[0]
  rows++
  println columns[0]
	}
println rows

このコードは、ID 1のデータベース接続を使用し、顧客テーブルから10行のすべての列をロードします。

データセットからの読み取り

readDataset()関数は、データセットからデータをロードするために使用されます。関数は次のように定義されます:

readDataset(Integer id, int limit, Closure<Object> closure)

パラメーター

パラメーター「id」は必須で、パラメーター「limit」「closure」は任意です。

  • id - データセットのIDを定義します。コードビルダーで設定するか、データセットのURLで見つけることができます。
  • limit - ロードされる行の制限を定義します。
  • closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。したがって、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。

使用例

readDataset(10,5) {
  println values[0]
  println columns[0]
}

このコードは、ID 10のデータセットを使用し、5行の最初の列の名前と値をロードします。

テーブルからの読み取り

table()関数は、プロジェクトに以前に保存された一時テーブルからデータをロードするために使用できます。このテーブルは、現在のセッションでのみ使用できます。関数は次のように定義されます:

table(String id, Closure<Object> closure)

パラメーター

パラメーター「id」は必須で、パラメーター「closure」は任意です。

  • id - テーブルのid(名前)を定義します。テーブルの作成時に設定されます。
  • closure - クロージャーは、ファイルの各行に対して実行されるコードのブロックです。クロージャーは、パラメーターとして、または関数の本体として中括弧で記述する必要があります。したがって、パラメーターとしてオプションですが、一般的に必須です。詳細については、Groovyクロージャーを参照してください。

使用例

table('table') {
  println values[0]
  }

このコードは、テーブルの各行の最初の列の値をコンソールに出力します。

ストリームとして読み込む

データをストリームとして読み取る場合、行は繰り返されず、入力ストリームとして一度にすべて送信されます。ほとんどの場合、行ごとの読み取りを使用することをお勧めします。一部のPythonスクリプトなど、必要な場合にのみストリームを使用することをお勧めします。

CSVファイルからのストリーミング

streamCSVFile()関数は、CSVファイルからデータをストリーミングするために使用されます。関数は次のように定義されます:

 

streamCSVFile(String file, String separator, String escape, int limit)

パラメーター

パラメーター「fileseparator 」は必須で、パラメーター「escape」「limit 」は任意です。

  • file - 読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
  • separator - 値間の区切り文字(カンマ、セミコロンなど)を定義します。 
  • escape - テキストのエスケープに使用される文字を定義します。
  • limit - ロードされる行の制限を定義します。

使用例

println org.apache.commons.io.IOUtils.toString(streamCSVFile('train_v2.csv',','))

このコードは、ファイルのすべての値をコンマで区切って出力します。

XLSファイルからのストリーミング

streamXLSFile()関数は、XLSファイルからデータをストリーミングするために使用されます。関数は次のように定義されます:

streamXLSFile(String file, int limit)

パラメーター

パラメーター「fileは必須で、パラメーター「limit」は任意です。

  • file - 読み込むファイルの名前を定義します。このファイルをプロジェクトにアップロードする必要があります。
  • limit - ロードされる行の制限を定義します。

使用例

println org.apache.commons.io.IOUtils.toString(streamXLSFile('samplexls.xls',5))

このコードは、ファイルの最初の5行を、値をコンマで区切って出力します。

SQLデータベースからのストリーミング

streamXLSFile()関数は、XLSファイルからデータをストリーミングするために使用されます。関数は次のように定義されます:

streamSQL(Long id, String sql, int limit)

パラメーター

パラメーター「id 」は必須です。

  • id - データセットのIDを定義します。コードビルダーで設定するか、データセットのURLで見つけることができます。

使用例

println org.apache.commons.io.IOUtils.toString(streamSQL(1, 'select * from table',5))

このコードは、テーブルの最初の5行を、値をコンマで区切って出力します。

データセットからのストリーミング

streamDataset()関数は、データセットからデータをストリーミングするために使用されます。関数は次のように定義されます:

streamDataset(Integer id)

パラメーター

パラメーター「id」は必須です。

  • id - データソースのIDを定義します。コードビルダーで設定できます。

使用例

println org.apache.commons.io.IOUtils.toString(streamDataset(1))

このコードは、データセットのすべての行を印刷します。

テーブルからのストリーミング

streamTable()関数は、以前にプロジェクトに保存された一時テーブルからデータをストリーミングするために使用できます。このテーブルは、現在のセッションでのみ使用できます。関数は次のように定義されます:

streamTable(Integer id)

パラメーター

パラメーター「id」は必須です。

  • id - テーブルのid(名前)を定義します。テーブルの作成時に設定されます。

使用例

println org.apache.commons.io.IOUtils.toString(streamTable('table'))

このコードは、テーブルのすべての行を印刷します。

  • No labels