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