Rのメモリー内オブジェクト(data.frame)からHDFSにデータをコピーします。列名やデータ型などのすべてのデータ属性が、データとともにメタデータとして格納されます。
使用方法
hdfs.put( data, key, dfs.name, overwrite, rownames)
引数
HDFSにコピーされるローカルR環境のore.frame
オブジェクト。
キー列の索引または名前。
新規ファイルの一意の名前。
dfs.name
で同じ名前のファイルが上書きされるかどうかを制御します。ファイルを上書きする場合はTRUE
、エラーを表示する場合はFALSE
に設定します。
ファイルの各行の先頭に通し番号を追加するにはTRUE
、それ以外はFALSE
に設定します。
使用上の注意
hdfs.push
のかわりにhdfs.put
を使用して、データベース表などの ore.frame
オブジェクトからHDFSにデータをコピーできます。表はRメモリーに収まるサイズである必要があります。そうでない場合、関数は失敗します。hdfs.put
関数は、まず、すべての表データをローカルRメモリーに読み込み、その後、HDFSに転送します。小規模な表の場合、Sqoopが使用されないことでhdfs.push
では生じるオーバーヘッドが生じないため、hdfs.push
よりもこの関数の方が高速です。
戻り値
新規ファイルのオブジェクトID。操作が失敗した場合はNULL
。
例
次の例では、dat
データ・フレームの内容で/user/oracle/xq/testdata.datというファイルを作成します。
R> myfile <- hdfs.put(dat, key='DEST', dfs.name='testdata.dat') R> print(myfile) [1] "/user/oracle/xq/testdata.dat" attr(,"dfs.id") [1] TRUE