Foro Formación Hadoop

Import en Hbase (ImportTsv)

 
Imagen de Cristina Martinez Rodriguez
Import en Hbase (ImportTsv)
de Cristina Martinez Rodriguez - martes, 21 de mayo de 2019, 11:41
 

Hola, 

estoy intentando importar los datos del fichero movies.txt que tengo en hdfs

[cloudera@quickstart log]$ hadoop fs -ls /tmp/formacionModulo4

Found 1 items

-rw-r--r--   1 cloudera supergroup      14032 2019-05-21 01:12 /tmp/formacionModulo4/movies.txt

en Hbase en la tabla movie

hbase(main):042:0* list

TABLE

movie

ns1:t1

ns1:t2

3 row(s) in 0.0100 seconds

=> ["movie", "ns1:t1", "ns1:t2"]

y me da el siguiente error

hbase(main):045:0* hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:movie,f1:year movie hdfs:/tmp/formacionModulo4/movies.txt

SyntaxError: (hbase):45: syntax error, unexpected tIDENTIFIER


hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:movie,f1:year movie hdfs:/tmp/formacionModulo4/movies.txt

Es la misma sentencia que aparece en la solución de los ejercicios únicamente cambiando la ubicación del fichero.

¿Cual es el problema?

Gracias

Imagen de Admin Formación Hadoop
Re: Import en Hbase (ImportTsv)
de Admin Formación Hadoop - martes, 21 de mayo de 2019, 13:17
 

Hola Cristina, 

¿Has copiado a mano la instrucción? Si has copiado y pegado intenta a copiarla a mano, el copiar y pegar del pdf es traicionero. El - de antes del Dimporttsv va junto: -Dimporttsv


Cuando lo pruebes coméntanos si es la solución para pegarle un vistazo en caso contrario.

Gracias.

Un saludo,

Imagen de Cristina Martinez Rodriguez
Re: Import en Hbase (ImportTsv)
de Cristina Martinez Rodriguez - martes, 21 de mayo de 2019, 13:36
 

Hola,


sigue dando error.

He probado a poner entre comillas 'HBASE_ROW_KEY,f1:movie,f1:year' pero también falla.

Sin las comillas me indica que el fallo está en : f1:movie

Y con las comillas en el nombre de la tabla : movie

Un saludo

Imagen de Admin Formación Hadoop
Re: Import en Hbase (ImportTsv)
de Admin Formación Hadoop - martes, 21 de mayo de 2019, 17:16
 

Hola, 

Hemos probado y la instrucción funciona correctamente. 

La instrucción debes ejecutarla desde una terminal (no dentro de la shell de hbase).  Lo único, que en la solución el nombre de fichero se indica movie.txt y es movies.txt


Instrucción:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f1:movie,f1:year movie /tmp/movies.txt

Ejemplo una vez terminada la ejecución:

hbase(main):008:0> scan 'movie'

993                  column=f1:year, timestamp=1558451566059, value=1996       

 994                  column=f1:movie, timestamp=1558451566059, value=Big Night 

 994                  column=f1:year, timestamp=1558451566059, value=1996       

 996                  column=f1:movie, timestamp=1558451566059, value=Last Man S

                      tanding                                                   

 996                  column=f1:year, timestamp=1558451566059, value=1996       

 997                  column=f1:movie, timestamp=1558451566059, value=Caught    

 997                  column=f1:year, timestamp=1558451566059, value=1996       

506 row(s) in 2.2700 seconds



Hbase

Imagen de Cristina Martinez Rodriguez
Re: Import en Hbase (ImportTsv)
de Cristina Martinez Rodriguez - miércoles, 22 de mayo de 2019, 12:57
 


Lo estaba lanzando desde la shell de hbase y por eso fallaba.

Ya se han insertado los datos correctamente.


Muchas gracias