He estado usando esto por la carga de un archivo de texto

A = LOAD '1try.txt' USING PigStorage(' ') as (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
InformationsquelleAutor user3627159 | 2014-05-13

3 Comentarios

  1. 4

    Puede utilizar el nombre de la carpeta en lugar de nombre de archivo, similar a este:

    A = LOAD 'myfolder' USING PigStorage(' ') 
        AS (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
    

    Cerdo de cargar todos los archivos en la carpeta especificada, como se indica en Programación De Cerdo:

    Cuando se especifica un «archivo» para leer de HDFS, puede especificar los directorios. En este caso, el Cerdo va a encontrar todos los archivos en el directorio especificado, y utilizarlos como entrada para que la instrucción de carga. Así que si usted tiene un directorio de entrada con dos ficheros de datos de hoy y de ayer debajo de él, y que de entrada especificado como el archivo a cargar, Cerdo de leer los dos de ayer y de hoy, como entrada. Si el directorio que especifique otros directorios, los archivos en los directorios serán incluidos.

    • Gracias AndreyS. Yo había intentado esto, pero todavía estoy recibiendo un error que dice error al leer los datos desde el directorio de destino. Alguna sugerencia por favor?
    • A mí me funciona. Puede ser, el uso equivocado de ruta para el directorio de destino? ¿El uso de Cerdo en local o MapReduce modo?
    • estoy usando en mapreduce, Pig modo y por la forma que yo quiero saber cuando especificar los directorios debo especificar lik esta «/usuario/asiapac/ssamykannu/usuario/asiapac/ssamykannu» o «hdfs://localhost:9100/usuario/asiapac/ssamykannu/usuario/asiapac/ssamykannu». Tengo tres archivos de texto almacenados en la carpeta «ssamykannu»
    • «/usuario/asiapac/ssamykannu/usuario/asiapac/ssamykannu» es muy extraño camino. Probablemente, escribió la ruta dos veces y que el verdadero camino es «/usuario/asiapac/ssamykannu». Esto se puede verificar mediante hadoop fs -ls comando. Si su Hadoop nombre de usuario es «asiapac», entonces usted puede utilizar la ruta relativa de la casa de directorio «ssamykannu» o completa de la ruta «/usuario/asiapac/ssamykannu». La ruta de acceso «hdfs://localhost/usuario/asiapac/ssamykannu» será trabajar demasiado.
    • Sí hubo una pequeña confusión en esto y he intentado crear una nueva carpeta y funcionó. Muchas gracias AndreyS
    • Buena suerte! No olvides marcar la respuesta como «aceptado» y votar!

  2. 1

    Aquí está el enlace a la oficial de cerdo documentación que indica que se puede utilizar la instrucción de carga para cargar todos los archivos en un directorio:
    http://pig.apache.org/docs/r0.14.0/basic.html#load

    Sintaxis: CARGA de ‘datos’ [el USO de la función] [esquema];

    Donde: ‘data’: El nombre del archivo o directorio, en comillas simples. Si especifica un nombre de directorio, todos los archivos en el directorio de la carga.

    • hola ¿qué pasa si el directorio tiene muchos subdirectorio y cada subdirectorio tiene varios archivos, sería la sintaxis de cargar todos los archivos?
  3. 0
    data = load '/FOLDER/PATH' using PigStorage(' ') AS (<name> <type>, ..);
    

    O

    data = load '/FOLDER/PATH' using HBaseStorage();
    

Dejar respuesta

Please enter your comment!
Please enter your name here