ローカル・ファイルシステムから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-0000
x
になります。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"