hadoop copiază un folder din sistemul de fișiere local în HDFS (Programare, Hadoop, Hdfs)

Tariq a intrebat.

Am nevoie să copiez un dosar din sistemul de fișiere local în HDFS. Nu am putut găsi niciun exemplu de mutare a unui dosar (inclusiv toate subfolderele sale) în HDFS

$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI

7 răspunsuri
Ashrith

Ați putea încerca:

hadoop fs -put /path/in/linux /hdfs/path

sau chiar

hadoop fs -copyFromLocal /path/in/linux /hdfs/path

În mod implicit, atât put și copyFromLocal ar încărca directoarele în mod recursiv în HDFS.

Comentarii

  • Mulțumesc pentru răspuns, Un exemplu de localpath și hdfspath ar fi foarte util – – –  > Por Tariq.
mrsrinivas

Pe scurt

hdfs dfs -put <localsrc> <dest>

În detaliu cu un exemplu:

Verificarea sursei și a țintei înainte de a plasa fișierele în HDFS

[[email protected] ~]$ ll files/
total 132
-rwxrwxr-x 1 cloudera cloudera  5387 Nov 14 06:33 cloudera-manager
-rwxrwxr-x 1 cloudera cloudera  9964 Nov 14 06:33 cm_api.py
-rw-rw-r-- 1 cloudera cloudera   664 Nov 14 06:33 derby.log
-rw-rw-r-- 1 cloudera cloudera 53655 Nov 14 06:33 enterprise-deployment.json
-rw-rw-r-- 1 cloudera cloudera 50515 Nov 14 06:33 express-deployment.json

[[email protected] ~]$ hdfs dfs -ls
Found 1 items
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging

Copierea fișierelor HDFS utilizând -put sau -copyFromLocal comanda

[[email protected] ~]$ hdfs dfs -put files/ files

Verificarea rezultatului în HDFS

[[email protected] ~]$ hdfs dfs -ls
Found 2 items
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 06:34 files

[[email protected] ~]$ hdfs dfs -ls files
Found 5 items
-rw-r--r--   1 cloudera cloudera       5387 2017-11-14 06:34 files/cloudera-manager
-rw-r--r--   1 cloudera cloudera       9964 2017-11-14 06:34 files/cm_api.py
-rw-r--r--   1 cloudera cloudera        664 2017-11-14 06:34 files/derby.log
-rw-r--r--   1 cloudera cloudera      53655 2017-11-14 06:34 files/enterprise-deployment.json
-rw-r--r--   1 cloudera cloudera      50515 2017-11-14 06:34 files/express-deployment.json

Kumar

Dacă copiați un dosar din local, atunci se va copia dosarul cu toate subdosarele sale în HDFS.

Pentru a copia un dosar din local în hdfs, puteți utiliza

hadoop fs -put localpath

sau

hadoop fs -copyFromLocal localpath

sau

hadoop fs -put localpath hdfspath

sau

hadoop fs -copyFromLocal localpath hdfspath

Notă:

Dacă nu se specifică calea hdfs, atunci dosarul va fi copiat în hdfs cu același nume ca și dosarul respectiv.

Pentru a copia din hdfs în local

 hadoop fs -get hdfspath localpath

Comentarii

  • Mulțumesc pentru răspuns, Un exemplu de localpath și hdfspath ar fi foarte util –  > Por Tariq.
  • localpath, , hdfspath ar putea folosi un pic de dragoste pentru cei care sunt noi în hadoop –  > Por thewhitetulip.
Jubrayil Jamadar

Puteți folosi :

1.ÎNCĂRCAREA DATELOR DIN FIȘIERUL LOCAL ÎN HDFS

Sintaxă: $hadoop fs -copyFromLocal

EX: $hadoop fs -copyFromLocal fișier local1 HDIR

2. Copierea datelor din HDFS în fișierul local

Sys: $hadoop fs -copyToLocal < new file name>

EX: $hadoop fs -copyToLocal hdfs/filename myunx;

Praveenkumar Sekar

Pentru a copia un fișier de folder de la local la hdfs, puteți comanda de mai jos

hadoop fs -put /path/localpath  /path/hdfspath

sau

hadoop fs -copyFromLocal /path/localpath  /path/hdfspath

Prasanna

Navigați în folderul sau calea „/install/hadoop/datanode/bin” în care ați putea executa comenzile hadoop:

Pentru a plasa fișierele în HDFS:Format: hadoop fs -put „Local system path”/filename.csv „HDFS destination path”

ex)./hadoop fs -put /opt/csv/load.csv /user/load

Aici, /opt/csv/load.csv este calea fișierului sursă din sistemul meu local linux.

/user/load înseamnă calea de destinație a clusterului HDFS în „hdfs://hacluster/hacluster/user/load”

Pentru a obține fișierele din HDFS în sistemul local:Format : hadoop fs -get „/HDFSsourcefilepath” „/localpath”

de exemplu)hadoop fs -get /user/load/a.csv /opt/csv/

După executarea comenzii de mai sus, fișierul a.csv din HDFS va fi descărcat în folderul /opt/csv din sistemul linux local.

Aceste fișiere încărcate ar putea fi văzute, de asemenea, prin intermediul interfeței web HDFS NameNode.

user11714872

Din linia de comandă –

Hadoop fs -copyFromLocal

Hadoop fs -copyToLocal

Sau puteți utiliza, de asemenea, biblioteca Spark FileSystem pentru a obține sau a pune fișiere hdfs.

Sper că acest lucru este util.

Tags:,