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