Saltar al contenido

Obtenga algunas líneas de datos HDFS

Te recomendamos que pruebes esta solución en un entorno controlado antes de pasarlo a producción, saludos.

Solución:

Nativo cabeza

hadoop fs -cat /your/file | head

es eficiente aquí, ya que cat cerrará la transmisión tan pronto como cabeza terminará de leer todas las líneas.

Para obtener el cola hay un comando efectivo especial en hadoop:

hadoop fs -tail /your/file

Desafortunadamente, devuelve el último kilobyte de datos, no un número determinado de líneas.

¡También puedes usar el comando principal en Hadoop! la sintaxis seria

hdfs dfs -cat  | head -n 3

Esto imprimirá solo tres líneas del archivo.

los head y tail Los comandos en Linux muestran las primeras 10 y las últimas 10 líneas respectivamente. Pero, la salida de estos dos comandos no se muestrea aleatoriamente, están en el mismo orden que en el archivo mismo.

La mezcla aleatoria de Linux – shuf El comando nos ayuda a generar permutaciones aleatorias de líneas de entrada y sería útil usarlo junto con los comandos de Hadoop, así:

$ hadoop fs -cat | shuf -n

Por lo tanto, en este caso si iris2.csv es un archivo en HDFS y quería 50 líneas muestreadas aleatoriamente del conjunto de datos:

$ hadoop fs -cat /file_path_on_hdfs/iris2.csv | shuf -n 50

Nota: El Linux sort El comando también podría usarse, pero el shuf El comando es más rápido y muestra mejor los datos aleatoriamente.

Comentarios y valoraciones del artículo

Si te gusta el asunto, tienes el poder dejar un tutorial acerca de qué te ha parecido este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *