NPM HDFS module
This is node.js interface to communicating with web HDFS interface.
How to use
Installing
Before we can use this module we need to install it first
$ npm install --save hdfs247
Using on Unsecure Cluster
var Hdfs = require('hdfs'), localpath = '/tmp/filetest.txt', remotepath = '/user/apps/filetest.txt'; var hdfs = new Hdfs({ protocol: 'http', hostname: '192.168.1.225', port: 50070}); hdfs.upload({ 'user.name': 'apps', overwrite: true, localpath: localpath, path: remotepath}, function(error, response, body) { console.log(error); // Error will be null if upload process is succeed. console.log(response); // Raw response from node.js request. console.log(body); // Body of request result.});
Using on Secure Cluster (Kerberized/SPNego)
var Hdfs = require('hdfs'), localpath = '/tmp/filetest.txt', remotepath = '/user/apps/filetest.txt'; var hdfs = new Hdfs({ protocol: 'http', hostname: '192.168.1.225', port: 50070}); hdfs.upload({ 'user.name': 'apps', overwrite: true, localpath: localpath, spnego_token: result.token, principal: spnego_principal, keytab: keytab, realm: realm, krb_fqdn: krb_fqdn, path: remotepath}, function(error, response, body) { console.log(error); // Error will be null if upload process is succeed. console.log(response); // Raw response from node.js request. console.log(body); // Body of request result.});
Functions
- cekpath(param) ⇒
Object
Check the parameter, return path if there is path in parameter, and return / if no path in parameter.
- prepvar(param) ⇒
Object
Prepare parameter, separate request option and request parameter, set default option, and explicitly set path.
- Hdfs(data)
Hdfs class constructor
Object
cekpath(param) ⇒ Check the parameter, return path if there is path in parameter, and return / if no path in parameter.
Kind: global function
Returns: Object
- Object with only path in it.
Param | Type | Description |
---|---|---|
param | Object |
Parameter from user |
Object
prepvar(param) ⇒ Prepare parameter, separate request option and request parameter, set default option, and explicitly set path.
Kind: global function
Returns: Object
- Clean ready to use request parameter.
Param | Type | Description |
---|---|---|
param | Object |
Mixed request parameter. |
Hdfs(data)
Hdfs class constructor
Kind: global function
Param | Type | Description |
---|---|---|
data | Object |
Object data seed. |
- Hdfs(data)
- .getfilestatus(param, callback)
- .liststatus(param, callback)
- .download(param, callback)
- .upload(param, callback)
- .open(param, callback)
- .gethomedirectory(param, callback)
- .getcontentsummary(param, callback)
- .getfilechecksum(param, callback)
- .concat(param, callback)
- .append(param, callback)
- .create(param, callback)
- .rename(param, callback)
- .mkdirs(param, callback)
- .setpermission(param, callback)
- .setowner(param, callback)
- .setreplication(param, callback)
- .settimes(param, callback)
- .delete(param, callback)
hdfs.getfilestatus(param, callback)
Get file status from HDFS Possible properties of param is :
name | presence | type | default | description |
---|---|---|---|---|
path | optional | String | / | Path status that will be taken |
Kind: instance method of Hdfs
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for get file status endpoint |
callback | function |
Callback function to return the result |
hdfs.liststatus(param, callback)
List status of file and directory under specified directory
name | presence | type | default | description |
---|---|---|---|---|
path | optional | String | / | Path status that will be taken |
Kind: instance method of Hdfs
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for get list of status file |
callback | function |
Callback function to return the result |
hdfs.download(param, callback)
Download file from HDFS with without buffering.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Open_and_Read_a_File
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
offset | optional | Long | 0 | >=0 | The starting byte position |
length | optional | Long | null | >=0 or null | The number of bytes to be processed. null means the entire file |
buffersize | optional | Int | Specified in hadoop configuration | >0 | The size of the buffer used in transferring data. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for download file from HDFS |
callback | function |
Callback function to return the result |
hdfs.upload(param, callback)
Upload file to HDFS without buffering.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Create_and_Write_to_a_File
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
overwrite | optional | Boolean | false | true or false | If a file already exists, should it be overwritten? |
blocksize | optional | Long | Specified in hadoop configuration | >0 | The block size of a file. |
replication | optional | Short | Specified in hadoop configuration | >0 | The number of replications of a file. |
permission | optional | octal | 755 | 0 - 1777 | The permission of a file/directory. |
buffersize | optional | Int | Specified in hadoop configuration | >0 | The size of the buffer used in transferring data. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for upload file from HDFS |
callback | function |
Callback function to return the result |
hdfs.open(param, callback)
Open file from HDFS, this function will buffer content file in memory
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Open_and_Read_a_File
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
offset | optional | Long | 0 | >=0 | The starting byte position |
length | optional | Long | null | >=0 or null | The number of bytes to be processed. null means the entire file |
buffersize | optional | Int | Specified in hadoop configuration | >0 | The size of the buffer used in transferring data. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for open file from HDFS |
callback | function |
Callback function to return the result |
hdfs.gethomedirectory(param, callback)
Get home directory of current accessing user.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Get_Home_Directory
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for getting home directory. |
callback | function |
Callback function to return the result |
hdfs.getcontentsummary(param, callback)
Get summary of content
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Get_Content_Summary_of_a_Directory
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for getting home directory. |
callback | function |
Callback function to return the result |
hdfs.getfilechecksum(param, callback)
Get checksum of file
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Get_File_Checksum
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for get checksum of file. |
callback | function |
Callback function to return the result |
hdfs.concat(param, callback)
Concatenating file to another one. Warning : It's still experimental. We warn you.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Concat_Files
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
sources | Mandatory | String | A list of comma seperated absolute FileSystem paths without scheme and authority. | A list of source paths. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for concatenating file. |
callback | function |
Callback function to return the result |
hdfs.append(param, callback)
Append data to another file in HDFS
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Append_to_a_File
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
buffersize | optional | Int | Specified in hadoop configuration | >0 | The size of the buffer used in transferring data. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for upload file from HDFS |
callback | function |
Callback function to return the result |
hdfs.create(param, callback)
Create file in HDFS.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Create_and_Write_to_a_File
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
overwrite | optional | Boolean | false | true or false | If a file already exists, should it be overwritten? |
blocksize | optional | Long | Specified in hadoop configuration | >0 | The block size of a file. |
replication | optional | Short | Specified in hadoop configuration | >0 | The number of replications of a file. |
permission | optional | octal | 755 | 0 - 1777 | The permission of a file/directory. |
buffersize | optional | Int | Specified in hadoop configuration | >0 | The size of the buffer used in transferring data. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for upload file from HDFS |
callback | function |
Callback function to return the result |
hdfs.rename(param, callback)
Rename file or directory in HDFS
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Rename_a_FileDirectory
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
destination | Mandatory | String | (an invalid path) | An absolute FileSystem path without scheme and authority. | The destination path. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for rename file or directory. |
callback | function |
Callback function to return the result |
hdfs.mkdirs(param, callback)
Make directory in Hdfs
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Make_a_Directory
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | optional | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
permission | optional | octal | 755 | 0 - 1777 | The permission of a file/directory. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for make directory in HDFS |
callback | function |
Callback function to return the result |
hdfs.setpermission(param, callback)
Set permission of file in HDFS
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Set_Permission
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
permission | Mandatory | octal | 755 | 0 - 1777 | The permission of a file/directory. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for set permission of file and directory in HDFS |
callback | function |
Callback function to return the result |
hdfs.setowner(param, callback)
Set owner of file or directory
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Set_Owner
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
owner | Optional | String | (means keeping it unchanged) | Any valid username. | The username who is the owner of a file/directory. |
group | Optional | String | (means keeping it unchanged) | Any valid group name. | The name of a group. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for set owner in HDFS |
callback | function |
Callback function to return the result |
hdfs.setreplication(param, callback)
Set replication factor of file.
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Set_Replication_Factor
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
replication | Optional | Short | Specified in the configuration. | >0 | The number of replications of a file. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for set replication file. |
callback | function |
Callback function to return the result |
hdfs.settimes(param, callback)
Set time and date of file in HDFS
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Set_Access_or_Modification_Time
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
modificationtime | Optional | Long | -1 (means keeping it unchanged) | -1 or a timestamp | The modification time of a file/directory. |
accesstime | Optional | Long | -1 (means keeping it unchanged) | -1 or a timestamp | The access time of a file/directory. |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for setting time and date of file. |
callback | function |
Callback function to return the result |
hdfs.delete(param, callback)
Delete file or directory in HDFS
Kind: instance method of Hdfs
See: https://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Delete_a_FileDirectory
Param properties :
name | presence | type | default | valid value | description |
---|---|---|---|---|---|
path | Mandatory | String | / | An absolute FileSystem path without scheme and authority. | Path status that will be taken |
recursive | Optional | Boolean | false | true or false | Should the operation act on the content in the subdirectories? |
Param | Type | Description |
---|---|---|
param | Object |
Request parameter for deleting file and or directory. |
callback | function |
Callback function to return the result |