hdfs.upload
ローカル・ファイルシステムからHDFSにファイルをコピーします。
使用方法
hdfs.upload(
filename,
dfs.name,
overwrite,
split.size,
header)
引数
- filename
-
ローカル・ファイルシステム内のファイルの名前。
- dfs.name
-
HDFS内の新規ディレクトリの名前。
- overwrite
-
dfs.name
で同じ名前のディレクトリが上書きされるかどうかを制御します。ディレクトリを上書きする場合はTRUE
、エラーを表示する場合はFALSE
(デフォルト)に設定します。
- split.size
-
Hadoopファイルの各部分の最大バイト数(オプション)。
- header
-
ローカル・ファイルの最初の行が、列名を含むヘッダーかどうかを示します。ヘッダーがある場合はTRUE
、ない場合はFALSE
(デフォルト)に設定します。
ヘッダーによって、MapReduce Rスクリプト内で列名を取り出し、データ・フィールドを索引ではなく、名前で参照できます。
使用上の注意
この関数は、HDFSにファイルをコピーする最も高速で簡単な方法を提供します。ファイルがsplit.size
より大きい場合、Hadoopによって2つ以上の部分に分割されます。新しいHadoopファイルは一意のオブジェクトIDを取得し、各部分の名前はpart-0000
x
になります。Hadoopによって、ファイルのメタデータが自動的に作成されます。
戻り値
ロードされたデータのHDFSオブジェクトID。コピーが失敗した場合はNULL
。
例
次の例では、ontime_s2000.datというファイルをHDFSにアップロードし、ファイルの場所を示します。このファイルは、ontime.dfs_File
という変数に格納されます。
R> ontime.dfs_File <- hdfs.upload('ontime_s2000.dat', dfs.name='ontime_File')
R> print(ontime.dfs_File)
[1] "/user/oracle/xq/ontime_File"