Big Data
language: ES
WEBVTT recordará que Hadut se divide en dos partes, una parte de almacenamiento y una parte de procesamiento. Ok, entonces voy a iniciar con la parte de almacenamiento. En la parte de almacenamiento voy a hacer lo siguiente, ya en esta máquina virtual está montado Hadut, carece ese sentido, explicá cómo se montó porque normalmente pues uno desarrolla y ya tiene la y después que termine de ejecutar comprueba qué servicios montó, qué demonios montó con el comando JPS. Por lo regular deberíamos mostrarte el comando JPS 6 demonios, they know, JPS, secondary they know, resource managers y node manager, son propios de arquitectura. Claro que esto no lo vamos a dejar montado aquí y esta máquina virtual la vamos a guardar el estado para que no tengamos que montar en cada clase. Ahora a nivel de redes, esos servicios y esos demonios van a montar unos servicios y esos se van a exponer sobre unos puertos. Entonces como comando de redes que esto lo habíamos visto cuando vimos el talent system y debería aparecer a todo vacío porque acabamos de formatear el sistema de ficheros, cómo lo formateamos con el HDFS, they know, menos forma. Listo, vamos nuevamente a la máquina virtual, si quiere dele comando clear aquí, clear para limpiar esa máquina un momento, clear y vamos a hacer lo siguiente, comandos adusivos acá. Vamos a crear una carpeta donde vamos a organizar nuestros archivos. Para crear una carpeta la le da HDFS, HDFS, DFS menos MKDIR, Slash inputs, lo coloca en inglés, inputs. Esto es lo que hace que crea una carpeta dentro del sistema de ficheros. Yo la voy a hacer acá, HDFS, DFS menos MKDIR, menos MKDIR, input. Perfecto, agregue el siguiente comando para permisos, HDFS, sería el mismo comando HDFS. Ya se cuenta que estos comandos están ejecutando sobre el sistema de ficheros, pero son los mismos que tienen nivel de Linux. HMOD, le va a colocar aquí HMOD, para cambiar los permisos 777, pues todos los permisos. Estamos en seguridad, estamos a nivel académico y le da este comando así. Le daría aquí CHMOD 777. Por último podía dar lo siguiente, HDFS, DFS menos LS, si no estoy mal, Slash. Eso me va a mostrar la estructura directorio que tengo montado en Hadoop. HDFS, DFS menos LS, perdón ahí se me fue un Slash. Y ahí aparece la carpeta inputs que creamos ahora. HDFS, el último, voy a guardar este señor fichadito aquí, guardar. Lo voy a guardar aquí en C. Me voy a guardar en documentos y lo voy a llamar comandos. Martina, que te salió vuestra ver. Dale flechita arriba, por favor, para ver que ejecutaste flecha arriba. Ah, te faltó, vete con flecha de izquierda, después del HDFS agrega DFS. Enter, ahora sí, enter. Y ahora dale el comando para listar, que es el último, que es HDFS, DFS menos LS, Slash, menos, menos, menos, menos LS. Ahí creo que está Slash, enter. Listo, ese mismo comando que tiene ahí, cuando yo doy HDFS menos LS es lo mismo que hace esta página. Por favor, ahora sí, vaya a hacer browser y dele por favor enter ahí. Y debería aparecer la carpeta inputs que creo ahora. Hagamos lo siguiente entonces, cerremos esta shell que tengo aquí. Voy a cerrar esta ventana, que esta ventana lo que hace es que cierre la conexión, la UI de conexión, pero me queda ejecutando acá. O sea, aquí me queda ejecutando la máquina virtual, no va a hacer más nada con la voy a agregar ahora un componente que es el que me va a permitir agregar elementos al sistema de HDFS, que es T, H, D, F, S, todos empiezan en el mismo y se llama PUT de poner. Estos son componentes propios de lo que es HADUT y ahora va a colocar un componente general que se llama teward, de warning, teward. No lo habíamos visto, este teward no manda ninguna salida en consola o muestra algo, simplemente es para que agregue este elemento en el archivo log que tengas configurado en tu proyecto. O sea, los logs, de acuerdo, tengo la fecha, dice que fue lo que hice, es ese teward, para eso se llama teward. Vamos a ver los puntos rojos que nos está indicando algún problema de configuración, vamos a el HDFS connection por favor y nos dice que ese componente no está instalado, instalaremos ese componente, bajar todo, aquí lo de aquí, bajar todo a instalar y creo que automáticamente también bajó el del HDFS punto, listo, perfecto, ningún problema. Dale por favor instalar y dice que bajar instalar todo, la del botón que dice bajar instalar todo. Listo, sigamos entonces, vamos al HDFS connection y vamos a darle doble clic y vamos entonces a configurar ese componente. Perfecto, entonces vamos a lo siguiente, aquí en las configuraciones básicas del componente de conexión le preguntan la distribución de haduq que existe, ya le había dicho que la mayor parte de estas empresas tomaron haduq open source y le colocaron una capa de ellos propia, entre esos tengo el EMR que es de amazon y aquí está el de azur, claudera, horto y en este caso como es una configuración que es propia, no la de ningún proveedor, voy entonces a escoger la opción que dice universal y te pide que instales los componentes necesarios para universal, entonces le damos aquí instalar, esto ahí va a buscar entonces los componentes, bueno aquí los bajamos todos, perfecto, esto solamente lo descargará una sola vez y lo deslizaremos en nbs, bajar e instalar por favor. Listo, acto seguido entonces vamos a configurar donde dice name node uri, que es el nodo principal en el cluster de haduq que tengo, entonces por defecto lo que nada más debería cambiar y por eso fue lo que te comenté que principalmente tengo que tener puertos 98, 70 y 9 mil abiertos, tienes que tener en cuenta que si te vas a montar tu propia infraestructura tienes que abrir firewall en ese puerto, entonces voy a cambiar la palabra localhost por la dirección ip de mi equipo que sería 10.0.3.250, nueve mil, nada me quedaría, o sea quedaría al final 10.10, mira te lo voy a colocar acá en grande para que veas cómo te va a quedar, lo único que cambié fue la palabra localhost por 10.0.350 que es la máquina virtual, la dirección de la máquina
on 2024-10-09
language: ES
WEBVTT entonces estamos en la configuración de este que este es un condicionador que ejecutaría el componente siguiente siempre y cuando la condición se cumpla. Ahora, vamos a configurar sencillamente el TMS a voz. Coloquen el mensaje nada más, error al descargar archivo. Al descargar archivo. Y proceda con el HFG con el disparador Runeif con el otro mesa voz. Disparador con Runeif y conéctelo aquí. Dele doble clic a la línea de Liff. Doble clic a la línea y le aparece la condición. Justamente a la línea de Liff. A ver, muestra a ver, Eva, creo que tú, si la línea no extraer. A la línea. Creo que tú has, tú es. No. No. No. Eva, lo que hace es que conectaste con May. Quítate, quita, borra esa línea que tienes ahí, por favor. Borra la línea de conexión. Selecciona la idea de suprimir. Ahora suprimir, listo. Ahora nuevamente, clic derecho sobre el HDF HDF Get. Clip derecho, vete al disparador. Disparador no, sesión disparador, la que viene después de fila, ese. Y ayuda un señor que dice Runeif. La tercera. Runeif, listo. Ahora, ahora, ahora, ahora, acuérdame esas dos, ahora, dale doble clic a la línea y te va a aparecer una sesión en la parte de abajo de condición. Espera, listo, ahí está, ahí vamos. En la parte de abajo del centro, te aparece. Ahora, en la perspectiva online, abrimos nuevamente HDF SGET, del lado izquierdo, y tomamos una variable nuevamente la misma, y la soltamos de este lado. La selecciono, clic sostenido, y ahora, ahora, ahora, ahora, significa que subió de forma correcta. Esto subió, no descargó, que es. Estamos ahí descargando. Si todo está OK, por favor, ejecuta el job. Veamos qué pasa. OK, está lento, eh, vamos a subirlo ahora y ya está listo, ahí algunos que tienen errores, vamos a ver, ahora verifico para ver. Eh, voy contigo, Bernardo, oiga, ya, deja que me ejecute en el mismo momento. Terminé de ejecutar para confirmar si es el mismo error. Listo, se me olvidó configurar este hello world, ¿Cuál es? Ah, es de todo está correctamente, mira, entro por aquí, donde aquí dice true, entro por aquí, se me olvidó configurar. ¿Qué pasó? ¿Qué funcionó? Coloque un nombre al archivo que no esté allá en HEDU y lo vuelve a ejecutar. Debería salir el mensaje de error. Voy a colocar producción uno y lo vuelvo a ejecutar y debería salirme ahora si error. Fue que se me olvidó configurar el mensaje ya. Voy contigo un momento, Bernardo, a ver. El caso tuyo, vamos a ver, tu carpeta es input pero la tienes con el contexto, ¿Verdad? Vete al contexto, creo que está haciendo con, vete a tu contexto del del del proyecto del lado izquierdo en el repositorio. Abre el contexto que se llama Maxa. No, pero cámbiala, no, no, pero cámbiala mejor en el en el no, no lo cambia ahí porque nada más me funcionaría nada más ahí después y la vamos a ir usando. Entra ahí perfecto para que le da doble clic, listo. Next. Y final. Sí. Finish. Vale, yes. OK. Para que cambien los listos. Finish. Ejecuta nuevamente para ver. Listo, avise. Listo, ve aquí, error de cargar archivo. Martina. No, no. O Eva, Eva, vamos a ver Eva, ¿Qué error tienes? Vete al designer un momento, vete al designer, ahí es porque eso está entre comillas doble. Entra al TMSSBOSS. Al TMSSBOSS, ese que está ahí. Doble clic. Y ese mensaje coloca en entre comillas doble. Ejecuta nuevamente para ver. Ernesto, tienes un error también, noto que lo tienes, vamos a ver qué te pasó a ti. Muéstrame por favor tu HFGETS. Hello World, entró al segundo NMSSBOSS, significa que lo descargó, por favor, busca la carpeta descarga. Los que terminaron, busquen su carpeta descarga. Y debería estar en su temporal descarga del archivo descargado. Vamos a ver el caso tuyo, Liso. Inputs. Muéstrame tu browser un momento. Tu browser, Ernesto, si eres tan amable, estoy buscando tu pantalla. Listo, vete a a ahí está Inputs, perfecto. Muéstrame tu HFGETS nuevamente ahora sí él eh tienes hiciste un contexto para descarga ah sí lo tiene. Ah vete a tu rumo un momento a tu perdón a tu HFGETS nuevamente que pena a tu a tu HFGETS. V. Muéstrame esa dirección servidor Jadut un momento dirección servidor Jadut vamos a decir está bien ya está bien. Dos puntos si mis cálculos no me falla te faltó un dos puntos ahí te confirmo HDFS ya te confirmo dos puntos sí exactamente dos puntos las las dirección listo. Finis pa ver. Yes vuelve a ejecutar nuevamente. Todo correcto listo debería estar en la carpeta vete a tu carpeta que cuando la descargaste creo que era el que le faltó. Eh ¿Quién más no le funcionó? A mí es Yasmin vamos con. Yasmin yo te dije que ya mi acá se cree con ese dos tienes con Z ya acá normalmente. Bueno vamos a ver que es el vete a run a vete a la la pestaña run en esa perspectiva que está run job sube para ver para ver el error en el error exactamente no es así está tomando la ruta user vete al el get momento HF HF get muéstrame la configuración dale doble clic doble clic un momento a ver baja para ver Ehh ese directorio raíz como es una variable de contexto no debería ir entre comillas doble en el en la variable esa de context no va entre comillas porque es una variable de contexto. Vamos a ver nuevamente a ver si el problema era ese. Hello World entro por el true ok dale creo que ese dale dale clic con ok no sé no lo configure el vete a tu descarga donde lo mandaste a descargar viera que entró por la línea o tal true entró por ahí debió descargar bien vete a tu proveed archivo no porque es lo estamos descargando desde hadut hasta sistema de fichero entra perfecto no sé si alguien más listo no sé si alguien más bueno continuamos pues quien en yo quien dios yo disculpe a julio listo julio vamos a ver que error salió uy es un error de compatibilidad dele ok vete al cov vete al cov para que nos muestre dale ok por favor si está mal vete al cov del al laíto del designer en el punto rojo dice que esa variable no existe entonces vete a tu a tu contexto de no hay una perspectiva en la parte de abajo en el contexto exactamente ahí donde donde está el cliente de la clínica vete al contexto ese que está ahí y está diciendo que esa variable parece que no existe dale doble clic en el en el hdf gets como es la confesión del hdf el t hdf get allí en el canvas la doble clic vete al canvas hdf se que si las dudas a lo siguiente vete la variable de contexto que tiene ahí context borrála hasta el cov ahí sube sube sube sube borrála hasta el cov pero manda la manda la pero no te complique la vida borrála desde la p desde la p borrála vete a borrar hasta la s y dale controlespacio dale controlespacio ahí ya dale controlespacio para que salga la ayuda ahí estás listo ahora sí doble seleccionala y ahora vuelve a ejecutar para ver sube sube para ver no vamos a ver sube para ver sube para ver error inputs la carpeta se llaman inputs con s vete a tu contexto por favor pero del repositor del proyecto o sea de de bajas búscate el contexto del repositorio para que la corríes allá no ese contexto busca el de repositorio que lo tienes al lado de desde el proyecto perdón vete a la sección de repositorio del lado izquierdo eso dale doble clic ahí qué pasa que si la cambio aquí cambiaría en todos los yo los yo que lo tienen dale next y colócalo ahí la s inputs en ruta raíz inputs dale finish ahí por favor yes ok y dale ahora sí nuevamente ejecutar lo que pasa es que si la cambiaba directamente en el job te hacía el cambio ahí pero no me cambiaba si volvía a re-usar esa variable en otro job entonces mejor la cambiamos el contexto nivel del proyecto y me canta me actualiza todo lo que dependan del hello world exactamente esa tuvo que haber descargado vete a la carpeta tuya en temporal descargas entre la carpeta de descarga y debería estar ahí bueno listo no sé si a todos ya les funcionó o todavía hay errores aquí ah ya sí te entendía vamos a ver preste un momento sí como hizo sí como hizo como hizo no recuerdo quién es decir yo pude haber hecho la variable de contexto esto si quieres te lo hago a la prueba aquí en vez de hacer eso debía hacerlo mejor así ve me quedaba mucho más fácil de configurar notepad es decir me quedaba esto sin estas comillas doble y aquí le colocaba dentro era 10.0.3.2 50 quitaba esto texto mira en este contexto de acá le decía oye ven acá para no está complicándome la vida con esas comillas simples comillas doble le colocaba todo esto aquí y ahora cuando de cuando lo fuera a usar que era aquí en la parte esta de este hdf gets lo que hacía era que colocaba como tengo dirección completa ya colocada más context dirección servidor y en realidad me quedaba mucho más fácil que la forma en que lo hice inicialmente pero ya déjelo así porque no vamos a configurar porque se regala el más y más perfecto la pregunta creo que no era lo que exactamente te responde porque no era porque este señor está esperando un stream verdad y a este stream le iba a agregar una variable imagínate esto como si yo tuviese lo siguiente así lo colocar un poco más grande aquí imagínate como si yo hubiese definido aquí bar x igual aquí a a esto que está aquí entre comillas doble como esto es un stream para yaba entonces qué pasaba me tocaba cerrar aquí este stream con cateno esta variable más x y después con cateno con esta parte de acá por eso creara los más porque era stream y ya való y como es yaba permitía era así listo bueno bien vamos eso sigamos sigamos entonces vamos a lo siguiente ahora vamos a conectarnos de una manera diferente para que tú escojas a ver cuál es la que más te gusta hemos hecho unas conexiones en cada uno de los componentes de diferente forma vamos a hacerlo del metadata ok vamos aquí en metadata y aquí hay una opción que dice haduk cluster la que dice ahí haduk cluster entonces le da clic derecho aquí y le dice crear haduk cluster bueno el nombre lo voy a llamar haduk underscore axa el nombre que le voy a dar haduk underscore axa next aquí te piden espera un momento que estoy muy acelerado haduk conexión se me perdieron los momento se me perdió la ventana donde tengo todos ya hacía aquí la distribución ya le he explicado que hay diferentes distribuciones toma el open source y cada uno le coloco una capita diferente me interesa un universal que ya la que estoy trabajando y por cuestiones aquí debe ser versión 3.0 3.0 si no creo que causa error 3.0 y le das finish aquí aquí estos manes tienen un error aquí un box que me toca reconfigurar nuevamente eso que pena aquí tiene que volver a configurar nuevamente universal y 3.0 listo ahí está esto es muy parecido a cuando definía una conexión estática a base de datos aquí no puedo usar variable de contexto reemplace todos los localhost por la dirección del servidor en el primero hay una pequeña diferencia el primero va a ser 10.0.3.2 50 y por favor cambia el puerto ese 80 20 que acá en esta versión es 9000 lo demás si copias cambias el 100 el localhost por la dirección ip nada más y los puertos siguen fijo bien fijo los puertos perfecto dígame quien me habló por ahí que pena que no estoy viendo el el chap julio vamos a ver julio vamos a ver eso vamos a ver voy a tu pantalla y de pronto hay algunos que dale cancel ahí por favor dale cáncer cáncel ahí estamos ahí en distribución por favor o dice en la parte de arriba distribución escoge universal universal baja un poco más y es universe en la versión que tiene del lado derecho escoge 3.0 por favor y ahora vas a cambiar en la primera name uri vas a cambiar el localhost por 10.0.3.2 50 10.0.3.2 50 y cambia el puerto ese que dice 80 20 por 9000 listo ahora los demás localhost lo cambia por 10.0.3 50 todos los localhost que tienes por debajo lo vas a cambiar por 10.0.3 50 que es servidor creo que no cogiste el otro listo y todos los localhost o con los puntos que te quede el punto porque el punto va a indicar el puerto creo que cogiste la t ahí te quedó una t perfecto ya no cierre esperamos un momento ahora donde dice user name listo dice user name vas a colocar hdub el usuario que tengo a chedud vamos a chequear los servicios chequear servicios check service y esperamos que no haya bueno aquí me pide descargar algunos drivers de conexión vamos a descargarlo bueno está todavía verificando el estatus el caso del mío está un poquito lento y el tengo error yo ah mire yo me equivoqué puse 900 y era 9000 pequeño error check service listo ahora sí con los si está en verde el estatus le da a finish por favor si te salió el estatus en verde dale finish por último te tuvo que haber abierto aquí la conexión en esa conexión le da clic derecho y le voy a decir que va a crear una conexión hdfs al sistema de ficheros de hadut porque recuerde que se divide en 12 más reduce y en hdfs vamos entonces a crear hdfs y colocale hdfs nombre la conexión axa under core axa next y aquí no hay que hacer más nada que dame que dale cheque creo que si le da cheque listo si nada más cheque para confirmar y ya ha creado de forma correcta la conexión al sistema de ficheros de hadut aquí le das finish perfecto y ya puede rehusar esa conexión vamos a ver cómo la rehusamos perfecto no te preocupes ok no te preocupes claro vamos a ver ya listo voy para allá espera un momento ya llego ya bueno el primer el puerto en el name uri donde el primer name uri que es name no uri cambia el puerto 80 20 a 9000 es 80 20 lo cambia a 9000 esa era para versiones anteriores de hadut y acá en el user name sigue bajando después donde dice user name baja listo colócale hd hd ahí colócale hd perfecto y se te activó el check service lo viste acá donde dice check service ya en los botones que están en la parte de abajo dale click en check service por favor descarga dale el descargar todo un momento y esperamos para ver y verificamos a ver si todo está ok listo le das ok close perdón le das close finish finish y vete a repositorio y expande hadut cluster ahora en ese hadut cluster recordará que está dividido en mac reduce y en hdf crea una conexión hdfs hacia ese hadut le das click derecho click derecho no en hadut el otro en hadut alza click derecho ahí y crea hdfs hdfs listo llámalo hdfs donde es colaxa dale next next y dale check por favor para verificar que todo esté bien check ok perfecto listo vamos a crear un nuevo job por favor un nuevo job un nuevo job en hadut que lo voy a llamar entonces job listar ficheros record hadut finish aquí listar ficheros perfecto listo entonces vamos a hacer lo siguiente para listar vamos a usar el componente que se llama thdfs list list hdfs list y vamos a usar un componente que ya hemos usado que se llama tjava el tjava hemos usado dos hasta el momento uno se llama tjava y uno se llama tjava robo el tjava no tiene ni entrada ni salida permite ejecutar código java y tengo el tjava flow que también me permite ejecutar código java pero ese señor tiene entradas y ni salidas listo ahora haga lo siguiente vamos a conectar vamos a configurar thdfs list por favor dame un doble click y ahora como vamos a usar esta conexión que la tengo de repositorio vamos a conectarlo de forma diferente donde dice property type váyase aquí a donde dice repositorio property type del hdfs repositorio y aquí sale un pequeño botón dale click en el botón por favor y aquí te aparecen las conexiones definidas de repositorio entonces escoges el hdfs axa este que está aquí el hdfs axa le das ok y él configura lo que tengas allá en ese hdfs axa otra forma en la cual tú te conectas una está estática una la hace directamente en el en el job como tal nuevamente le da click aquí en el repositorio y a y escoge la opción hdfs axa que es la última la última opción ok ok vamos a ver un momento que bernardo vamos a ver qué pasó no esa no es por aquí talé quítale el chulito de usar conexión existente en el check listo y tal el chulito ese vete al esto de ver al botón que está al final ese que está ahí exactamente clic ahí pero un momento que ese se muera listo entonces pande ahí hasta que encuentres el hdfs expande sigue expandiendo sigue expandiendo ok listo perfecto ahí toma la configuración entonces por último vamos a configurar el hdfs directorio pero entonces vamos a importar los contextos importamos los contextos del contexto de el proyecto y ahora ahí vamos a colocar en ese hdfs list donde dice hdfs directorio context control espacio y colocamos contexto luta raíz julio listo julio vamos a ver un momento eee ah porque seguro vete al contexto vete al contexto del de de de de yo que ahí no estás vete al de context ahí en la perspectiva que estás en la pestaña al lado de component está context context yo listar ficheros a dos esa dale clic ahí dale a importar en el en el botoncito el otro el al final es selecciona ahí por favor selecciona todo ok ahora si vete nuevamente al hdfs doble clic listo dale control espacio y debe aparecer ruta raíz ok bueno listo bueno ahora o lo siguiente vamos a hacer algo diferente entonces eee recordarás de vamos te lo voy a mostrar acá véalo acá por favor note lo siguiente que hay unos componentes que tienen en la opción fila main e iterate ya la vio no pero véalo acá del lado mío véalo en mi pantalla y esto te pasaba en muchos componentes que estabas en el data integration había me y había iterated para qué sirve ese iterated ese tereite deberías usarlo cuando el componente de entrada es una colección una colección tipo array entonces tú quieres recorrer esa colección entonces qué va a pasar así voy a irme este fichero de acá este hd feliz lo que va a hacer es que devuelve un arraig o sea en java o lo guarda como si fuera un vector entonces para recorrer un vector o una colección en ya en el en la perdón en este caso en la herramienta se hace iterando como él sabe que devuelve nada más ya un arraig dele clic derecho y aparece nada más iterate entonces manda aquí y lo conecta te da un color un poco subestivo verde y ahora vayamos a la configuración del te llave le doble clic al te llave el te llave perfecto doble clic al te llave después que iterates ese interés y es para recorrer una colección claro colección para java es un arraig puede ser un set un map no mentira mate este diccionario es set a raíles vector son los con los arraíes para los colisiones para java borra por favor ese ese código que tienes ahí y agrega lo siguiente vas a escribir la palabra system con ese mayúscula vamos a escribir hasta cis ese mayúscula y ese control espacio y sale error si a todo le salió error no sé a mí fue nada más que me salió error si le aparece lo mismo listo entonces es un problema de configuración aquí por defecto dele clic al enlace que dice con ten asis con ten asis y aquí hay una opción que dice basic proposal la la deschulea basic proposal es la que está aquí la deschulea la aplica y cierra al final ok intenta nuevamente control espacio y si aparece la palabra system ahora vamos a ver vamos a ver si no la parece estamos bien a quien dio no parece así a eva vamos listo dele control espacio a ver ahí control sostenido espacio dele listo de listo de la aplicar y cerrar dele aplicar y cerrar la última opción es cierre esa ventana y de la nuevamente control espacio es coja cisten que lo que estoy buscando el sistema escojo aquí le doy punto escojo la opción ok la tercera o punto por inc y escojo la opción pring ln creo que está bien lejos creo que me queda más fácil escribir la pring ln y me aparece en paréntesis ahí formel ahí la idea es que autocomplete perfecto ahora mire lo siguiente la perspectiva cuando yo quiero utilizar algunas variables todos los componentes de talen te ofrecen unas variables de que puedas usar que fue lo que hicimos ahorita como aquí al te llave al entrar el te hd feliz voy a buscar que variables me llegan aquí al te llave vayas en la perspectiva online y expande el hd feliz y aquí hay varias variables tome current file name y peguelo intentelo pegarlo dentro de las paréntesis que quede dentro de paréntesis creo que no va a quedar no me quedó así pero al final me debería quedar así te lo voy a mostrar mejor a luego así para que lo veas mejor cómo te quedaría te debería quedar más o menos así o sea la variable que solté debía quedar entre los paréntesis listo te voy a quedar de esa forma si quiere toma esa al otros de que termine en punto y coma si quieres al otro system punto oprime le voy a copiar este de aquí voy a dejarlo así abierto así así con el paréntesis y suelto aquí el que hice current file directory y lo suelto aquí en el medio ahí que me quede no el señor no se está ahí no es donde yo quiera es donde quiera aquí en el medio me quedaría voy a intentar ejecutar mientras usted va haciendo ya para decir no hay ningún error bueno voy a ver para ver si hay alguno que tiene error por ahí está cargando cargando cargando bueno estoy hasta demorando un poquito debería devolverme los dos ficheros que son producción y listo ahí está ejecutando si está ejecutando el choc correcto así está ahí me volvió producción y me dice la ruta donde está que es hdfs 10.0.3 50 es las imput es el berto tiene es un error muestra para ver dale ok si quieres vete mejor alto al co si eres tan amable al co y vemos exactamente donde tienes el error punto rojo contes ruta ray a no importantes seguramente vete al diseñete a al diseño nuevamente designer dale en el contexto de la perspectiva de configuración que es la que está en el medio ahí contextos click ahí creo que no se llamaba a dar el doble clic al al tdf a la confesión del t hdfs que tienes ahí doble clic baja por favor pero la confesión del hdfs dale doble clic por favor darle doble clic que se perdió baja al listo ahí hay un problema y borra hasta hasta borra de raíz hasta la t se faltó un punto ahí borra de raíz ahí borra borra hasta la t sigues borrando hasta la t dale control espacio ahí y escoge ruta raíz es que le habías colocado un guión ahí no sentaba ejecuta ahora nuevamente para ver es un error allá para ver vamos a ver qué tienes ahí sube para ver yo sube para ver yo a ver la ruta de los blogates bien vete al hdfs la ruta está mal darle vete a bueno a vete al contexto antes pero vete al contexto del de ese job ahí en la perspectiva central dice ahí bueno ahí está bien vete al hdfs doble clic por favor baja porque la colocaste entre comillas doble como es una variable de referencia no va entre comillas doble porque intenta colocar eso de manera fija quítale la doble la comilla que inicie comillas que finaliza al hdfs directory porque es una variable de contexto entonces no necesita comillas doble dale ejecutar ahora sí perfecto ahí está listo y así bien tienes un error muestra para ver ah porque colocaste en primer lugar existe con y muestrame ahora el designer un momento el designer ya va listo en primer lugar existe con y cambias es y latina por y ahora el paréntesis que abre en esa línea que está ahí el ln ahí es ln tienes y en minúscula en minúscula porque si no ahora ese paréntesis que abre cierra lo en la línea 3 la que está vacía línea 3 está vacía esa que está ahí cierra paréntesis y punto y coma punto y coma dale entre ahí entre nuevamente ahí enter y cópiate la primera línea del código y la pega salido tiene el espacio ahora está ubicado lo mismo porque si no y pega ahí dale guardar y veamos el co un momento dale ejecutar no creo que nada ejecutar para ver qué pasa perfecto ahí tienes las producción y la carpeta donde está bueno listo hagamos un pequeño break de diez minutitos para tomar algo frío y volvemos entonces a las a las dos y treinta en diez minutitos bueno a las una y treinta justo allá ya volvemos bueno continuamos entonces hagamos el último ejemplo de este yo de jadut que es ahora es leer el contenido o utilizar un archivo que está en el sistema jadut eso entonces vamos a lo siguiente no estoy en la máquina que no es la mía esto no es la mía ahora está poco en la mía esta si la mía ok creemos un nuevo yo ahora crear yo yo lo vamos a llamar yo leer fichero y luego colocar la palabra desde jadut perdón el anterior cual el anterior o ese sí sí sí sí es el anterior es el anterior cual el anterior o ese sí perdón yo estaba hablando aquí no que pertenecer el micrófono para me decía que tienen error eva cuando lo ejecutó se le un error para ver sí ok exactamente para ver el cambio es de cambio y cambio eso que está ahí cambiaron pero quítale no pero si las comidas doble porque la brea de contexto no está comidas doble quítale con otro espacio y busque ahí contexto de segunda opción si es ruta raíz y ahora ejecute por favor si está amable y lo que pasa que cuando es variable de contexto no necesita comillas doble para referenciarla pues si aquí bueno para nuevamente que fue la pregunta bueno para reforzar la pregunta que me hicieron ahora si yo tengo una variable en java por ejemplo es string string x igual a hola no es lo mismo yo voy aquí si uso la variable por ejemplo usarla aquí sumamos que esto una función de java aquí si yo mando a escribir x de esta forma lo que hace que busca la variable x se escribiría hola pero si la colocó entre comillas doble lo que coloca el valor estático es x entiendo ahora si yo coloco x más x lo que hace que coloca de manera estática está x y le coloca y referencia la variable x entonces cuando es contexto no hay que colocar entre comillas doble porque si la colocó entre comillas doble está tomando ese valor de la variable estática el context bueno comentaba que se había perdido la comunicación pero no tiene el micrófono apagado vamos a crear un nuevo job que va a ser el último en la familia de jadú que lo vamos a llamar job leer fichero desde jadú y esperamos que nos cree el canvas perfecto aquí vamos a hacer un par de cositas ahora entonces vamos a agregar este va a ser el último job de jadú de las familias de adulto vamos a agregar un componente que se llama hdfs hdfs vamos a llamarlo se llama inputs hdfs inputs hdfs inputs y vamos a colocar aquí sencillamente un telor el otro mundo ha complicado un telor row y conecte por favor el hdfs inputs al telor row vamos a configurar este hdfs input doble clic y voy a usar la conexión estática que tengo de repositorio entonces como hay property y voy a repositorio aquí cojo repositorio me aparece un una casilla de texto con un botón y procedo a buscar la conexión que había configurado anteriormente hdfs listo aquí está axa perfecto listo y toma la configuración me pide ahora leer el nombre del archivo entonces en este nombre de archivo voy a hacer lo siguiente voy a darle aunque yo creo que si doy aquí debería conectarme a jadú si aquí sabe si aquí está doy clic clic y me conecta a la máquina virtual y escoja el que usted quiera ahí de producción vamos a coger toda producción ok a ver si este no creo que este más esto no lo ejecute todavía porque va a requerir soltar un problema ahora este tipo de archivos que es text file y sequence file lo voy a explicar más adelante ahí vamos a tomar el caso de los archivos en formato parquet pero bueno ahora lo hacemos un momento ok tomamos producción punto ccv listo y prestación siguiente recordará que todos estos archivos que son json xml ccv tiene un esquema de la metadata es decir de las columnas no tanto está en el nombre la columna porque la columna puede llamarse como usted quiera está más en el tipo de columna y el orden en que la va a sacar entonces si vemos aquí este input editar esquema no tiene esquema el esquema hay que definirlo vayas a editar esquema que está al principio ese esquema hay que definirlo si el archivo es muy grande sale más sale muy tedioso a claro no complicado muy tedioso ir uno por uno y ir agregando aquí componentes aquí sale muy tedioso entonces cuál es el truco el truco es el siguiente quiero el esquema del archivo producción listo entonces tú puedes hacer lo siguiente si el archivo muy grande le pide a la persona que te mande el archivo con por lo menos dos tres filas para ver la estructura del archivo como el archivo tenemos a nivel local mira lo que vamos a hacer aquí vayas al file delimited y vamos a crear una conexión a ese archivo en el mundo real tú vas a pedir una copia previamente con tres filas dos filas para ver la estructura clic derecho vamos a crear un archivo delimitado y lo vamos a llamar producción producto está en inglés producción vamos a darle a kinect por favor busque el fichero producción que lo tenemos en temporal tenemos producción este que está aquí a abrir está separado por coma entonces vamos a darle a kinect en la parte de codificación no lo va a tener en cuenta recuerde que la codificación es interesante cuando estén en el idioma español portugués que tiene símbolos especiales en este caso el aquí debería funcionarme bien bueno a menos que haya caracteres especiales vayamos a aseguro cojan ustedes f8 mejor pero tampoco me da lo mismo lo que quiero hacer el separador es coma y dígale que tiene encabezado la el archivo y le da refresh listo aquí ya no hay más nada no hay que hacer nada me interesa es la metadata el nombre las columnas y el orden en que están el nombre no tanto pero sería interesante que con vamos a ver aquí next bueno ya le da finish al final bueno a ese punto no vamos quedando en este punto mejor aquí lo hacemos facilito notará entonces que cuando yo tengo una metadata hay dos botoncitos que le aparecen en la parte de abajo bueno varios botones perdón realidad estos botones son para agregar eliminar cambiar el orden pero me interesan los dos últimos el penúltimo el penúltimo es para exportar el esquema o sea la estructura como la tengo el state name, district name vamos a escoger el penúltimo botón y vamos a llamar a este señor esquema underscore producción production en realidad y no se lo olvide el punto csv puntos xml punto xml y le da guardar por favor guardar y le da finish aquí perfecto ese archivo lo hice para sacar y exportar la estructura de la metadata pocas palabras las columnas ahora vayasea nuevamente al hdfs input vayamos a editar esquema y aparece por defecto un botón que está en la misma posición del otro del export pero este es import vayamos import y vamos a buscar el esquema producción que es el esquema que saque voy a abrir y debería retornar el esquema que saque exporte le vamos a dar aquí ok yes quise que propagar los cambios si terminó por favor asegúrese que el yo que vaya a ejecutar es el correcto dele rum y debería retornar los datos del archivo producción que está allá dentro en hdfs dejado perfecto espero para ver si les salió algunos hasta el momento lo que hemos hecho son funciones de almacenar de almacenamiento sobre hdfs todavía no hemos hecho ningún procesamiento con big data solamente almacenamiento no hemos hecho procesamiento todavía bueno listo parece que es archivo grandecito y tanto pues espero para ver si a todos no funcionó si creo que todo no funcionó perfectamente Ernesto está ejecutando creo que bueno seguimos terminamos el ciclo de jadu y ahora vamos a hacer un ejemplo que seguramente te va a tocar porque yo creo que tú tienes montado ustedes tienen montado muchas cosas sobre asho entonces en este caso no tengo cuenta de asho tengo cuenta de adol o ese pero va a ser muy parecido voy entonces a hacer ejercicios que mezclen jadu y s3 que sería en asho cómo se llama se me escapa cómo es se me escapa cómo es el s3 el nombre s3 en asho cómo se llama el sistema bueno lo busco ese es como se llama disculpe ese es lo que stories bueno vamos entonces lo siguiente tengo un amigo que es fanático a adol es el trabaja en adol us no trabaja con adol us no trabaja en asho no trabaja con adol us pero entonces él es muy fanático y él entonces para él adol us es lo mejor que existe o sea lo demás no sirve yo sé yo le lo molesto yo digo pero si ese s3 ese 3 es como si fuera una carpeta es como decir un google drive entonces se me molesta que cuede rabia y va a buscar un libro gente que es fanática pero si usted analiza el s3 al final tenía siendo parecido a google drive lo que es que con el cloud front y muchas cosas pues tú tienes algunas cosas interesantes de replicación pero es un google drive al final pero se molesta que le diga eso en estos momentos parece que tiene error listo vaya por favor creando un folder llamado s3 s3 voy a tu ventana un momentico hernesto ver que este noto que tienes un error dice ops muéstrame tu archivo input muestrame el esquema de input el esquema de input editar esquema ok él dice muestrame nuevamente el error nuevamente el error por favor muestrame nuevamente es que ese archivo a listo ahí fue error mío en realidad no tuvo en cuenta vete a tu hdf input por favor nuevamente que si mis cálculos no me fallan ese señor está separado por coma baja por favor baja por favor baja no baja baja dile que carácter ahí colocaste coma está bien entonces ahí para descomplicarnos la vida y ver que te funcione no sé por qué no te funciona pero vamos a ver el problema es siguiente vete nuevamente el esquema vete nuevamente el esquema si está amable y ahí la variable esa cross-gear ya coloca la string que hay algo que no está está convirtiendo mal coloca de tipo string dale ok y vuelve ejecutar para ver ahora tienes un error con aria cambiarte también aria string que claro que bueno el error técnico es que intenta convertir una a una b lo que encontró por ahí en flood o en integer y bien tienes al error ejecuta si ya debe funcionarte pero claro que no sé por qué a ti no te funcionó ahí hay que ver para ver perfecto déjela así entonces sigamos entonces vamos aquí a s3 y vamos a hacer entonces algo muy parecido aquí con jadut clic derecho en s3 y vamos a crear un nuevo job este job lo vamos a llamar job subir fichero on the record s3 nada más parecido parecido pero a jadut la diferencia es que voy a subirlo ahora sobre s3 le damos aquí finish voy a cerrar los demás no lo voy a usar por ahora close orders listo dejo ese y que sea agregue los componentes aclaro que esta conexión al s3 está como meta data está como componente no puedo colocar una conexión fija al igual que con jadut o bases de datos no aquí este señor no lo permite entonces agregamos los siguientes componentes primero voy a tener un componente de tipo ts3 con ts3 con voy a tener un componente de tipo ts3 put y por último voy a tener un componente de tipo ts3 close ts3 close voy a hacer esto distinto a lo que he venido trabajando anteriormente voy a agregar dos componentes presta atención para que no se le olvide lo siguiente ahí tengo como esos componentes no están unidos tengo tres subjobs no están unidos entre sí entonces yo podía un orden es decir yo podía integrar estos señores con un disparador colocarle un subjock ok aquí y un subjock ok acá no lo ha gustado ya por favor es para recordar esto con subjock acá y me quedaría exactamente los tres subjobs pero aquí estoy definiendo un orden primero ejecuta s después ejecuta s y por último ejecuta s esa es una forma cierto la segunda forma que le había mostrado es unir estos componentes con un component ok significa lo siguiente que ahora no tengo tres subjobs sino un solo subjobs con la diferencia ahora es que el componente siguiente se ejecuta siempre y cuando no haya habido error en el componente anterior eso es lo que es el component ahora voy a agregar dos elementos diferentes estos elementos hacen prácticamente lo mismo del on subjock ok siendo que ahora en teoría alguno dice que te vuelve el jock más elegante o en otro que te es más fácil de leer busque dos componentes uno que se llama te pre-job pre de antes pre-job y coloque un te pos-job bueno, explico ese te pre-job que está ahí se ejecuta antes del primer subjobs que tengas y el te pos-job se ejecuta después del último subjobs que tengas normalmente el te pre-job lo utilizamos para labores de conexión o de iniciación de elementos en el subjobs y después define lo subjobs que tengas en el orden que tú quieras y el te pos-job lo que hace es normalmente cerrar conexiones aclaro que esto es simplemente darle un poco más de elegancia pero vamos a lo siguiente conecte el te pre-job con el te s3 conectio con on component ok con on component ok ese que está aquí conecte el te pos-job con el te s3 close ahí te quedan tres subjobs al final el primer job que se ejecuta es todo lo que está en el te pre-job se ejecuta antes del primer subjobs el subjobs es todo lo que no está conectado ni al te pos-job ni al te pre-job o sea que nada más tengo un subjobs que es un componente como subjobs que sería el put después que se termine la ejecución de todo lo subjobs se ejecuta al final el te pos-job algunos dicen que esto documenta mejor que se ve más elegante pero es simplemente pues diferentes formas de hacer lo mismo esto mismo al conectarlo con on subjobs ok me da exactamente lo mismo pero bueno son formas de hacerlo bueno este vamos a ver entonces el el descanso para el break y volvemos en en una horita ok eso bueno igualmente buen provecho bueno nuevamente buenas tardes continuamos aquí me escribieron algo no es la otra forma es quitar este subjobs este pre-job de aquí este pre-job de aquí y lo que hago es que conecto con con su job quedaría así entonces digo que es elegante porque puede ver que con el anterior lo que puedo evidenciar que se ejecuta de primero y que se ejecuta de último digamos algunos lo llaman elegante pero a mi casi bueno yo si lo uso bastante en el sentido de puede organizar que es lo que inicio que es lo que ejecuto y que es lo que finalizo nada más es eso son diferentes formas de hacerlo pues no le veo si tampoco tanta mucha o sea diferencia en la forma de conectarlo con un subjobs no hay ninguno ok por si las dudas bueno vamos a configurar este vamos a la carpeta compartida el one drive colocamos aquí one drive ya ya lo colocamos aquí está DVD y hay una opción que dice busquenla que dice credenciales s3 credenciales s3 no descargue vamos a copiar directamente de aquí abre el archivo tecky tech está ahí por favor nada más abre el archivo tecky tech que tiene ahí no lo vamos a copiar primero el access key listo lo voy a copiar y me voy a la configuración del t s3 con nexium aquí le digo que instale el componente que no lo tengo instalado eva creo que está en credenciales pero estaba más traves de estas sí te crees que al s3 la segunda creenciales s3 ahí está esa es una creencia del correo devuélvete que usaste antes devuélvete sube de nivel cierra ahí no cierra ahí me favor cierra del lado derecho listo sube de nivel a tbt ahí a tbd credenciales s3 la segunda del clip por favor en ahí y copie ahora la que dice access key no solamente la el valor que empieza desde a el valor nada más eso le queda más fácil dándole doble clic a la palabra dale doble clic a la palabra que se selecciona completa ya está ahí ahora cópiela y la vamos a colocar en el t s3 con nexium vayamos a la configuración del t s3 con nexium y la colocamos en la sección del access key dentro de comillas doble o sea dentro de las comillas doble perfecto ahí tengo vamos ahora al t s3 put y vamos ese es parecido vamos a usar una conexión existente use conexión existente y listo le aparece por defecto la que está conectada que es t s3 con nexium bien el bokeh el bokeh prácticamente es una carpeta el bokeh vamos a colocar donde dice bokeh prácticamente una carpeta vamos a llamarlo se llama noble prog de como de programación hasta la noble prog lo voy a mandar aquí o lo voy a colocar acá mejor entre comillas doble quedaría noble prog entre comillas doble le queda noble prog ese sería el bokeh la carpeta pero se quieren refinar con la palabra bokeh y ahora en noble prog vamos entonces a hacer lo siguiente noble prog y ahora continuo con la configuración del put y ahora el key el key va a ser el nombre con que tú quieres que subamos el nombre de archivo bueno acá tengo lo siguiente tengo a jonathan subió el archivo aquí estoy mostrando en la pantalla martina también le subió y le subió alguno me subió pero sin la carpeta me lo subió directamente production.csv no sé quién sería y aquí tengo también a jasmin que lo subió los demás no sé si tienen problemas para ejecutarlo bueno excepción de arnesto no sé quién alejandro muéstrame tú y yo para ver si tú viste que subiste sin sin el nombre de carpeta oye muéstrame ya voy a tocar a tu alejandro quizá muéstrame tu put por favor el ts3 put ah y cambia el nombre de carpeta a jon alejandro para saber que eres tú cambia el jon porque si no lo escribía sobre la mía alejandro y lo ejecuta por favor vamos a ver si te guardó el jon porque yo hubo raro ahí buscar yo para ver bueno acá tengo entonces adal, ver, catalina eva, hector jonathan si lo subiste ok aquí está ahora si alejandro listo vamos a ver eh arnesto lo va a ejecutar ahora acéate con el acéate eh arnesto eslas producción.csv noblepro que es altamente y en el file stream por favor producción ejecutalo para ver, reviso para ver que acá se le hizo y está efectivamente listo bueno terminemos esto de esta forma vamos a descargar este archivo del s3 y lo vamos a subir a hadut y terminamos la parte s3 aquí y seguimos con la parte de progresamiento porque al final estamos haciendo una más almacenamiento vamos a descargar este archivo que se llama demográfico.csv y lo que vamos a hacer entonces es que vamos y lo montamos en hadut para esta parte vamos a crear un nuevo job que va a ser el último en la familia de s3 entonces voy por acá, no ese no porque en realidad tengo poco en ese bokeh, poco archivo en ese bokeh entonces no cobran, eso ocurran cuando tienen no recuerdo cuando es el limite pero en ese limite no me cobran nada pero si sigo subiendo ahí pero ya archivo mucho que ahí nada más no llega ni a ni a 2 megas llega ahí esa cantidad de archivos que están ahí bueno vamos a ver listo entonces vamos a lo siguiente vamos a crear el último job de esa familia lo tengo donde tengo acá y vamos entonces s3 vamos a crear crear job vamos a llamarlo job descargar archivo s3 underscore subirlo underscore hadut job descargar archivo s3 subirlo a hadut y listo voy a aprovechar lo que tengo en este job voy a copiar este tprejob y el tse donde lo selecciono lo copio y lo pego acá y me copio también el t post job listo control c y lo pego aquí ya de este yo no necesito más nada lo cierro aquí entonces copié del anterior el tprejob y el t post job busque un hadut que te funcione yo voy a coger cualquiera y me voy a copiar el el connection de ese hadut voy a copiarme el connection que el primero que hicimos fue subir archivo en hadut un t connection si me voy a copiar en subir archivo hadut hay un t hdfs connection perdón hay un t hdfs connection y me lo voy a copiar un momento que se me listo este t hdfs connection lo voy a copiar y lo voy a pegar en el job que tengo aquí perfecto y lo conecto al t s3 connection significa que el tprejob su labor fundamental con un component ok aquí todo significa que todos quedarían en el sub job del tprejob las conexiones close order entonces seguido como voy a descargar un archivo del s3 y lo voy a subir al hadut de nada me sirve tenerlo en la máquina local entonces voy a colocar aquí un t file deleted para que me borre el archivo porque tengo que descargarlo en la máquina que estoy para después subirlo a hadut entonces voy a conectar este señor on component ok y después lo configuro agreguemos los componentes para descargar necesito un t s3 t s3 get y para subir a hadut necesito un t hdfs put perfecto vamos entonces al t s3 get y vamos a configurarlo vamos a usar una conexión existente y este componente por defecto seguimos la conexión toma la que está por defecto listo entonces vamos aquí en el bucket bucket donde voy a descargar archivo se llama noble proc que es el mismo que teníamos ahora y el archivo se llama así ya lo voy a colocar acá como este s3 está montado en linux tiene que estar exactamente igual en mayúscula y minúscula ya le digo cómo quedaría el archivo se llama te quedaría de esta forma demográficos demográficos puntos s v confirmo para ver demográficos y con la de mayúscula porque s3 está montada sobre el sistema de ficheros de linux entonces es en sigla mayúscula y minúscula
on 2024-10-09
language: ES
WEBVTT hacerlo a esa configuración en cada uno de los componentes, cuando entra al input se va a conectar a Hadoop. Se desconecta y después en la otra se va a conectar a Hadoop y después se desconecta. Entonces hay dos conexiones hacia Hadoop. Ahora, estábamos pensando en que esto puede estar en la One, o sea, tú tienes tu job, lo tienes de pronto en AWS y de pronto el sistema del open source, los componentes de input son para archivos CSV. En el taled estudio tienes para leer en otros formatos. Este porque es gratuito y pues habría que nada más tiene nada más esto que está aquí. Ahora estos tipos de ficheros te lo voy a explicar más adelante porque más adelante voy a meterme un poco con Parquet, que no tengo componentes para generar Parquet, pero en la versión taled estudio si tienes para Parquet. Dejemos como text y hagamos lo siguiente, el separador de esa producción, permítame y lo confirmo, si no estoy mal es coma, voy a acceder aquí a ten, producción, clic derecho, abrir, editar aquí y está separado por coma. Entonces le voy a decir que el separador que está con punto y coma va con coma. Es importante que definas a nivel de estándar tu separador porque así acostumbras y hay una memoria en que siempre vamos a ver el y ahora hay un header entonces le voy a colocar aquí uno en esta parte de codificación aquí puedes usar la codificación de entrada asegura que la codificación de entrada sea la misma de salida porque si no puedes dañar el formato del archivo. Dejémosla porque como no usado ninguna está tomando la defecto que es esa que aparece ahí ISO 89 pero recuerda que esa es muy fundamental cuando tienes portugués y cuando tienes español que es idioma nosotros. La decompresión ahora te la muestro como el cuento esa parte de compresión de data. Ahora, ¿qué quiero hacer? Vamos a hacer algo muy sencillo, vamos a este archivo tiene algunos problemas porque hay unos espacios en blanco. Entonces vamos a eliminar esos espacios en blanco, es decir, este este job que voy a usar con disparador o un component ok si coloco un subyogok la única diferencia es que el techwar queda en un subyog diferente pero tienes que tener en cuenta que es la misma idea siendo que un component queda en el mismo subyog y con un subyogok me queda los dos en dos subyog diferentes y aquí es para entender cómo funciona la herramienta entonces cuando no porque es que hay unos componentes que no se conectan con main es una cuestión más de capricho de la forma en que funciona el talento con component ok el main no lo que pasa es que main hay unos componentes que no hay unos componentes que son con main, unos que son con iterate y unos que son con disparadores es más entender o saber no entender porque ya es un poco más de capricho de por qué lo conecto con main o con component ok ya es un poco más de capricho de la herramienta de porque lo hizo así listo y aquí viene bueno lo fundamental de la herramienta listo dese cuenta que aquí tengo un si el componente es un hdfs input o el componente es un test park o en su defecto tú has cambiado en la versión de real estudio la ejecución estándar a una ejecución sobre spark eso es lo que va a ser entonces es que va a mandar bajar un script y lo va a mandar para que se ejecute en este caso en pocas palabras cuando yo conecto esto de aquí para adelante todo esto que está hacia el ente él va a generar un script sobre java y lo va a mandar a ejecutar sobre el hadut en este caso sobre más que hace esto que te evita que tú tengas que escribir ese script si el componente vuelvo repito si el componente este hdfs input si el componente todo lo que usted tome de ahí hacia adelante él va a generar un script para mandarlo y ejecutarlo con más credible eso es lo que va a hacer él de igual forma también te funciona que esto no tenemos es que cambia la ejecución es decir aquí en el job en el job esta parte de aquí aquí está acá en el ron job en el ron job la versión talent estudio te va a ofrecer dependiendo de lo que comprado te va a ofrecer para que tú digas o lo ejecuto estándar o lo ejecuto sobre es para y él te hace la conversión automática a esto es lo principal de la herramienta que me genera los scripts para ser ejecutado sobre más que de uso sobre un sistema es para eso lo fundamental ya lo demás sigue siendo lo que es una herramienta de tl ya listo tú le agrega los componentes como tú quieras y él te genera el script para que se ejecute sobre el clóster de adu o clóster de para para contar eso lo que hace la herramienta y que pues ayuda mucho para no tener que escribir tanto poder listo conecta ahora este tema por favor hacia el hdf output y vamos a llamarlo aquí salida curada voy a colocar a otro te guard de este lado de guard lo voy a comentar con un component ok desde el output un component ok y le voy a colocar el mensaje al te guard archivo curado o limpiado de forma correcta de tipo tres archivo con directo chivo perdón curado de forma correcta esto lo hago para generar los tres o es su efecto vigilar los errores curado de forma correcta ya no hemos configurado se me pasó me escapó una confirma una confiración en el hdf input se me olvidó que dale queda listo vamos aquí se me escapó en este hdf input doble clic por favor doble clic y recordará vamos a hacerlo de forma diferente para que ustedes cojan lo que usted desee si recordará que el día de ayer no lo para esto para recordarlo el día de ayer tomamos este archivista buscamos el xml y eso lo que hacía era que me devolvía cierto vamos a hacerlo un poco diferente ahora cómo lo hacemos diferente a no pero este componente no me va a permitir hacer eso así pero si es que pasa que el esquema que quiero está en el metadata entonces donde dice esquema hay un combo voz le da clic ahí y le dice repositorio dice bueno aquí que cambia y busca le aparece un text file y un botón dele clic en el botón y le va a aparecer toda la metadata que tiene configurada y en esa metadata va a buscar en el archivo delimitado producción que es lo que tenemos y da clic en metadata y eso hace exactamente lo mismo de ayer es decir ayer lo que hicimos listo listo vamos a ver claro como no estaba vallese al hdf input y se va donde dice esquema la parte de esquema y al lado está un combo voz ese combo voz lo abre y es la opción aquí le dice que si desea guardar yes acto seguido le aparece un casilla de texto y un botón al lado le da el botón y le va a aparecer el repositorio de los elementos que están configurados en la metadata ahí va a buscar el archivo la metadata que en este caso estaría en file delimited producción y escuella opción meta rata ok y es y si vas aquí en editar esquema debería aparecer el esquema que te agregó que es exactamente el de producción que tenía ya bueno mientras algunos van terminando y la idea principal es que entienda cómo es el funcionamiento y la arquitectura de la herramienta nivel de data si el componente de entrada es un hdfs input o un test par lo que hace es que en el caso de thfs input genera un script y lo manda a ejecutar contra mac reduce y si este par pues lo mandaría a ejecutar a contra el cluster de par que tenga configurado listo vamos de manera muy sencilla al tema ya de aquí en el antes pues es lo que hemos aprendido de cualquier herramienta tl que has visto vamos agrega entonces una variable aquí manda si son a este lado y cuando y después que creas una variable no hagas la otra después que crean la primera suelta la segunda para que te dé la configuración de ese señor suelta la segunda aquí suelta aquí y haz de cuenta que la entrada ya corresponde con la salida o sea lo mismo que entra en nombre sale en salida no me te va a confundar pero eso es cuando ya por lo menos tengo una variable creada al nombre variable acá le va a colocar si son y lo único que va a hacer en la expresión es agregarle a cada una le va a dar punto trim trim para quitar los espacios que están al principio y al final aquí está trim ok y aquí le vamos a dar el trim es claro que para la cantidad de registro que tiene ese señor pues eso demora más ejecutándolo sobre un sistema para evitar pero en este caso tenemos una un clóster de data muy muy pequeño con sólo data no entonces para lo que queremos hacer pues mucho pase por favor entonces las primeras tres columnas de acá las pasa a la salida el si son y el club lo toma de las variables que definió y el área y producción la suelta de este lado ahí faltaría el nombre o nuestra para ver y suelta la itália perfecto
on 2024-10-09
language: ES
WEBVTT el no comprimido pesa 3.8. Hay una relación de diferencia, vamos a ver de cuánto, 1.48 entre 3.8. La tasa de compresión fue del 40%, aproximadamente. Entonces ahí podías reducir pues algún tamaño Es el tal temporada 100 numérico y ordenarlo de manera descendente. Descendente. Enter. Vayamos ahora sí, y aquí no hay más nada. Vamos a ejecutar para ver y le voy a mostrar qué es lo que quiero resolver. Esto voy a ejecutar aquí. Ejecute ahí y nos muestre. A ver que no salga. ¿Qué le hizo? A ver, vamos a ver. Debería salir lo mismo si tenemos la misma configuración del ordenamiento, pues debería salir lo mismo. Y aquí está. Aquí me faltó lo siguiente, porque no mostró el año. Aquí faltó el año. Deja ver que no me está mostrando el año, porque no mostró el año. Te agregué este row un momento. Te reviso para ver. Bueno, el cross ya está aquí, o sea que no es el problema de él. Debe ser en el Techo row. Voy a buscar la salida, editar salida. Aquí está cross, ya y el telor row. A ver qué pasa. Editar esquema. Y porque no me yo no vi el año ahí, yo vi el año ahí. No sé, usted le apareció el año ya. A mí no está apareciendo. Voy a cambiar un poco la salida para que me muestre de tipo table. Sé que estoy viendo mal. Y a mí por qué no apareció? Vamos a ver. No sé si fue. Porque se está. Qué pena que está ejecutando que me dio. Gracias, gracias, gracias. No he guardado aquí. Serente. No revisé. Y abrí el que no era saber. Tenemos aquí. Tenemos aquí. Es anualidad. Este que está aquí. Ahora sí ejecuto. Bueno, vamos lo siguiente. Ahora sí, está curando. Perfecto, listo. Entonces aquí va así. Gracias. Bueno, mire lo que quiero resolver aquí. Note lo siguiente. Quiero sacar el año en que más tuve producción. En la temporada. Entonces, mire lo siguiente. Voy a tomar estos archivos que están aquí. Este de aquí, por ejemplo, estos de acá. Y los voy a pegar para ver lo mejor aquí. Significa aquí no acá en el noto. Significa lo siguiente entonces no guardar. Perfecto. Veamos para este estado, para esta temporada. El mayor es este 2010. Hay un solo archivo. No hay mucho problema con esto. Entonces me debería dar esto de aquí. Cierto para el segundo, para la temporada Carif. Mire lo siguiente en la temporada Carif. El mayor producción, cuál fue? Fue esta la primera en el 2000. Está de acá. Si es, si me si me equivoco, me avisen entonces si no es cojila correcta. Para rabis nada más hay una sola, o sea que quiero el año en que más. Más produje. Y en la temporada que llama año completo la mayor. Ah, no, porque lo es que lo organizé, pero es que lo organizé. De esta manera, el short que lo organizé, claro que estaba en la primera, estaba en el primero. Pregunto si entiende qué es lo que quiero sacar. Quiero sacar el año en que más tuve temporada. Esto es muy común cuando tú vas a sacar en un supermercado, cuáles son cinco productos más vendidos por cliente. Entonces hace una relación de ese cliente, le haces una campaña a ese cliente y lo convence a que compre esos productos, que compra el más nuevo producto que tú tienes. Entendemos el problema, verdad? Entonces. Vamos a lo siguiente. Yo he visto algunas soluciones. Empiezan de esta forma. Vamos al te agregue este. Esto ahora. Quitan este cronchier de aquí. Y este cronchier lo colocan acá. No lo hago usted ya porque no es para que me entienda, para que me entienda la idea. Y entonces mira lo que hace. Aquí hay una función que se llama. Que saca la el primer de la primera de la de la primera registro del grupo saca el primero. Prácticamente parecido a lo que estoy buscando, verdad? Quiero sacar el primero porque lo ordené, pero hay un problema, pequeña problemita aquí. Que este elemento en este punto, al decir primero, no está ordenado. Al no está ordenado esa solución no funciona. Entonces. Hay otros que hacen lo siguiente. Viene aquí y saca el Max. Si sacas el Max de ahí, hay un pequeño problema que no ha sumado todavía. Entonces, como no ha sumado, está sacando el máximo de todos porque de entrada ya te cambió el agrupamiento. Entonces, qué voy a hacer? Vamos a hacer este problema de dos formas. Vamos a dejarlo como estaba. Aquí tengo una suma. Una suma que tengo aquí. Voy a quitar este señor de acá. Y voy a agregarle como estaba originalmente que era progera. Mira cómo hago ahora. En este punto. Ya el elemento sale ordenado. Ahora el elemento ordenado voy a hacer lo siguiente. Ahora sí, lo siguiente. Voy a agregar otro te agregue y te robó. Para verificar que todo está bien, voy a agregar un te short robó nuevamente. Ese te short es para verificar el te short antes. Sin el te short antes no me sale la solución al problema. El último te short es para verificar que todo esté bien. Y voy a agregar el telóquito para verificar que todo esté bien aquí. Telóquito. Y voy a unir los componentes entonces de este señor va aquí. De este señor va aquí. Y este señor va acá. Listo. Ahora recuerda que la salida en el te agregue y te robó me entra esto de acá. Voy a colocarlo aquí nuevamente en un nuevo archivo. Bueno, guardar este señor. Voy a verlo aquí, pues no pate este para que sean dos aquí. New. Voy a agregar eso. Significa que esto está ordenado ya. Entonces voy a decir lo siguiente ahora. En el segundo te agregue y te robó, voy a decirle ahora que me cambio el ordenamiento. Ordename nada más por. Voy aquí a editar esquema. Voy a sacar toda la entrada a la salida. O sea, le doy aquí en el más de acá, en las flechas, la segunda fechita. Para que mande todo a la entrada hacia salida. Toda la entrada a la salida. Y le doy aquí. OK. Yes. Y ahora voy a esto de acá. Lo siguiente. Entonces voy a agrupar por este en el por si son nada más. Y ahora sí voy a hacer lo siguiente. Voy a mostrar, voy a agregar aquí las dos columnas restante que es total y cross gear y le voy a decir hazme el favor y saca el primer elemento del grupo. Fers. Fers. Dile que ignore los nulos por si acaso. O si las dudas que no creo, porque sacando el máximo. Pero que hay que decir ese sentido. Bueno, pero puede dar nulo. Ahora entiende cuál es la idea. El archivo me llega así ya ordenado verdad? Entonces con el primer elemento no hay problema. Por qué? Porque solamente hay uno solo. Pues es el primero y el último. Pero veamos cómo funcionaría con este grupo de acá. Mira cómo hace aquí a grupas por este y por este. Significa que todos estos registros están. Pero como viene ordenado yo decirle oye de este grupo, sácame el primero de total temporada y sácame el primero de cross gear. Ya está ordenado. Sacaría este de aquí. De este pasaría lo mismo. Entonces aquí está el grupo y le voy a decir perdón. Aquí está el grupo y lo decir. Oye, de ese grupo, sácame el primer elemento que sería este y sácame el primer elemento que sería el pregunto. Para decirme está entendiendo la idea. Si yo cambio este primero a Max. A Max. Será que me da? Me daría con el más. Será usted que cree? Será que me da? No, no daría. Claro, claro, me daría este valor de aquí, pero me devolvería 2010. Ahora el Max como el primero es el máximo, ahí podía haber colocado al máximo y me hubiera dado. Pero bueno, vamos a ver. Vamos a colocar aquí first a ver si esto da. Entre. Vamos a ejecutar ahora. Apre el techo. Sí, dígame. Así sí, sí, sí. Segundo techo. Este y. El segunda columna va a ser de bien copiar y pegar SISO alfanumérico. Y el total. Temporada. Daría lo mismo. Vamos a ordenar mejor por año porque nada más va a haber un su archivo. Cross gear vamos a hacer ascendente. Cross gear. No, porque un solo registro. Creo que este está de más. Este esta columna estaría más porque un solo registro por este grupo. Nada más este en SISO alfanumérico. Ejecutemos aquí para ver si tengo razón. Porque nada más un registro por grupo. A ver qué sale. Vamos a ver entonces. Voy a tomar este señor que él que estaba haciendo las pruebas. Control C. Voy a pegarlo. En este creo que fue que hice la prueba. Ahí está 2010 corresponde a este de aquí. 2000 corresponde a este que saqué acá. 2010 corresponde con el valor. Y el año entero 2003. Y ahí está. El problema es que esa consulta tiene un pequeñito problema. Así como está, pero si entiende la idea. Ese first no está ese first. Lo podías hacer inversión MySQL antes de la 8.0. Después de la 8.0 de MySQL, MySQL decidió ajustarse netamente al estándar de SQL. Y en estándar SQL no permite mostrar ese primero. Aquí sería interesante hacer. Por ejemplo, los cinco primeros o los dos primeros, que es interesante. Ahora lo hacemos para ver. Miren cuál es el problema de la consulta. Suponga suponte el caso. Que existen dos registros. Así este registro que está aquí. Y este sea 20 10. Aquí debería de haber dos. Porque el máximo lo tiene dos personas, dos de estado. Pero así como está la consulta, devuelve el primero. Entonces, la consulta sería incompleta y. No me estaría dando resultado deseado. En caso de que existan dos que cumplan la condición como ese, como el que estoy mostrando aquí. Aquí qué pasaría? Puede que este orden me lo da de esta manera, pero él va a sacar el primero. En realidad, debía devolverme los dos. Para esto vamos entonces a agregar otro componente. Entonces. Vamos a hacer lo siguiente. Vamos a tomar este señor clic derecho, vamos a duplicarlo. Hacer otra forma diferente y lo vamos a decir. Le quito el copy y le agrego segunda forma. Segunda forma. Accedemos entonces a la segunda forma. Voy a quitar este señor y acceder aquí a la segunda forma. Y listo, vamos a hacer lo siguiente. Entonces borre desde el te agregue te ro hasta el telok ro borre por favor sus componentes. Claro que el te short no es necesario para que funcione esta segunda forma, pero es más eficiente si no está ordenado. Segunda forma la agregué para solucionar el problema cuando son varios y segundo para agregar el componente te yo en que no lo habíamos visto, que no lo habíamos visto. Entonces vamos por aquí, listo. Y ahora lo que vamos a hacer es lo siguiente. Vamos aquí a un te. Vamos a hacer aquí un te H de F se opus. Une el te short con el te o H de F o puto aquí en este punto y este señor lo que va a hacer es lo siguiente. Entonces vamos a mandarlo. Aquí lo configuramos usar conexión existente. Vea que tiene todo el sentido el te H de F con Necton porque nada más se conecta una sola vez. Y para mayor facilidad voy a hacer lo siguiente. Voy aquí a especificar una ruta aquí, voy a escoger el archivo producción. Voy a llamar a este archivo producción. Derezcoor estado donde record anualidad y le voy a colocar el perfil de su fijo ten de temporal. Temporal. Le agregué el nombre cuando tomé uno que ya sabe que la producción y le agregué estado anualidad con el record ten para decir que es un temporal. Ahora tome este mismo suyo. Tomé este mismo suyo. Ops, lo colisto. Control C, control V y lo coloca acá bajito. Dítele el te short row que ya no es necesario. Aclaro que el te short de arriba es para es más eficiente. Ya te explico por qué y conecta el te agregue este con. El te H de F se opus. Y elimina entonces, vete al te agregue este row del segundo componente. Y diré lo siguiente ahora, quítale para que no agrupe por cross gear. Elimina cross gear de la salida, por favor. Porque si no te lo va a mandar para aquel lado. Nada más va a mandar tres componentes y cambiale este nombre de total temporada a máximo donde recordo total temporada. Es decir, cambié el nombre de total temporada a máximo total temporada. Dese cuenta que al final, en esta parte de vida estamos terminando es ETL porque ya la herramienta automáticamente genera los scripts para ejecutarlo con Macreduce. Estamos terminando en herramientas tipo ETL prácticamente. Vamos a darle aquí OK. Y cambiamos el nombre, dale yes aquí, listo. Y el nombre de la columna ya lo cambió. Y mire lo que voy a hacer aquí. Voy a sacar el máximo. De. Un momento aquí. No, perdón, perdón, aquí me caché. Qué pena me caché aquí, me faltó un te agregué este rubro aquí. No me daría. Espera un momento, parece que sale de esta forma. No me daría. Espera un momento, a ver. Ah, ya, perdón, sí, sí. Sí, sí. Por favor haga lo siguiente. Qué pena. El error fue sí también. Ya me ubiqué. Ya me ubiqué, ya me ubiqué. Listo. De se cuenta que en este archivo de salida me va a quedar toda la anualidad. Es decir, me va a quedar este archivo de esta manera. Ya con la subatoria. Entonces, qué voy a hacer aquí? Lo que voy a hacer ahora es que esta entrada de aquí va a ser la del archivo este de acá. Entonces voy a tomar este archivo de acá. Y lo voy a colocar aquí como entrada. Claro. Voy a tomar el esquema de salida de este lado. Editar esquema y lo voy a exportar. Voy a exportarlo entonces, lo exporto y le digo esquema producción por estado. Por anualidad. Punto xml. Guardar. Ok. Y ahora cambio el esquema de este señor. Borro todo eso que está ahí. Aunque yo creo que nada más si doy clic, regresaría lo que estaba allá. Aparence a mí. Y me quedaría así. En el output, sí señor, gracias. No lo cambié, así. Punto y coma, sí señor. Punto y coma. Perdón, cambiar punto y coma por coma e incluir el header. Y el overwrite, gracias. Este sería también para este. Es lo otro, pero aquí estoy haciendo los configuratorios. Ya los configuro para ver. Ya voy a explicar cuál es la idea que tengo. Gráficamente le explico entonces. Si ya agregó el esquema, tuvo que haber cambiado el te agregué este robo, el segundo, el de abajo. Doble clic. Y a este señor vamos a agruparlo por este máximo. Listo. Vamos a quitar esquema, por favor. Y pasa total temporada para este lado. Borra el máximo que teníamos y pasa total temporada. Le das OK. Yes. Y vayamos aquí al output, a la salida. A este lo voy a llamar producción estado anualidad máxima under score temporal. Y aquí le cambio, así gracias, el cambio aquí del separador a coma y le incluyo el header. Y le doy sobre escribir por si las dudas. Mientras va, te voy a ejemplificar que fue lo que hice aquí, lo que estoy haciendo. Bueno, creo que ya la mayoría configuró. Presta atención lo que. Qué es lo que, cuál es la idea? La idea del primer archivo es que me quede de esta forma organizado. Me quedo organizado entonces por estado, temporada, año y cuál es el máximo valor. Perfecto, no hay problema. Ese fue lo que hicimos inicialmente. Ahora, este archivo que está haciendo lo, está haciendo lo siguiente. Diciendo agrúpame por estado y agrúpame por temporada y sacame el mayor. Aquí hay uno solo, no hay problema. Saco este señor de aquí. Listo, me queda este registro de este lado. Vamos con el siguiente. Estoy diciendo agrúpame por este y por este. Todos los grupos serían hasta aquí. Este Ravie no entra. Voy a agrupar por este y por este. Entonces, ya de este grupo, sácame el máximo valor que tienes aquí. ¿Cuál es el máximo valor aquí? Qué pena, aquí no guarda años. ¿Cuál es el máximo valor aquí? De aquí, ¿de este cuál sería? Este es aquí, ¿verdad? O sea, que guardaría este registro acá. De este que está aquí, sácame el máximo. Hay un solo elemento, me guardaría en este archivo, esta parte. Y de este que está aquí, ¿qué haría? Sácame el máximo de aquí. O sea, el grupo de estos dos, sácame el máximo. ¿Y el máximo cuál es? Este de aquí. Ahora, aquí tengo los máximos y acá tengo todos los elementos. Ahora voy a hacer entonces un join. Voy a agrupar este con este prácticamente para sacar el año. Es más lenta, pero podía hacer una consulta en que si hay dos máximos, o sea, hay un solo máximo y dos registros con ese máximo, te devuelve los dos registros. Vamos entonces, ¿cómo sería ahora? Vamos a lo siguiente ahora. Ya tengo estos archivos que quedaron en temporal, quedaron allá y ahora voy a hacer lo siguiente. Voy a agregar un THDF input a THDF input, este de aquí. Agregó, bueno, son dos que tengo que agregar. Pego aquí. En el primer input voy a tomar el primer temporal. Lo pego acá. Bueno, aquí le digo usar conexión existente. Component list, HDFS, el primero. Le digo que es coma y que tiene un header. Y el segundo input iría con el segundo, el archivo del segundo output, este de acá. Y sería por coma. Y tendría un header aquí de uno. Ahí sale un. Ah, listo, me desaparece que aquí component list, conexión list. Ahora sí. Voy a copiar el esquema de acá. Este esquema de salida, no sé si lo tengo ya. Ya lo había copiado, no recuerdo si este esquema lo había exportado. Creo que sí. Bueno, por si las dudas voy a exportar este esquema. No recuerdo si lo había exportado. Voy a darle aquí un export y le voy a dar, sí, creo que se llama esquema estado por anualidad. Punto XML. Guardar. Sí. OK. Y lo exporto aquí en el primero, importo, perdón, en el input primero. Perfecto. Y el otro sería. OK. Y no sé si cambié el nombre de la variable. Aquí me hizo esto mal porque el máximo de aquí debió ser total temporada. Total temporada acá. Ahí, problemas de variable. Si te da tiempo, por favor, cámbiate el nombre del teg aggregator row del segundo. Cambia el nombre de la variable a máxima para que sea más sencillo de entender. En el teg aggregator row, el queitar esquema, cambia la variable a máximo, donde el export total temporada. Para que tenga más sentido, digamos, los nombres. Ahí te dejo el teg aggregator row. Y espero un momento que me adelante mucho. Coloca un tey join. Tey join. Coloquemos un telog row para no subir y verificar que todo debía dar el mismo resultado. Tey join. Un tey join, tey join y un telog row. Y une ahora lo siguiente. Hay algunos que todavía están. Espero un momento para ver entonces. Espero algunos que todavía le hacen falta. Martina, voy a tomar tu pantalla para de pronto hay algunos que hace falta alguna configuración. Perfecto, listo. Muéstame tú te aggregator row, Martina, si está mal. Te agregue te row, el 2, el segundo. Perfecto, listo. Ahora, hiciste los inputs, los HDFS inputs, los que están abajo. Ah, están abajo. Los de abajo, los que vamos a hacer join ahora. Muéstame el 3. Muéstame el esquema. Debería haber 4 columnas en ese esquema. Falta y es por 0. Listo. Entonces, eso. Listo. A abrir. Perfecto. OK. Vete al Seguindo Output ese que está ahí. Dale, editar esquema. Coge el mismo esquema que es prácticamente el mismo. Tómalo ahí, por favor. Listo. Y borra la última columna que es cross-gear. Porque ese esquema nada más tiene 3. Doble clic. Borra la última cross-gear, la última columna la borras. Y cambia el nombre a la tercera columna. Llámala Máximo también para saber cuando acabamos el join. Máximo total columna. Tiene el total de oídos. OK. Perfecto. Por ahí vamos. Agrega ahora un te-join y un te-locrow. Listo. Yo creo que el nombre yo no lo cambié acá. Máximo. Ah, ahí me hice, me olvidó agregar que fuésemos. Abre esta parte. A abrir. Un poquito cross-gear. Y cambio a este señor a máximo. Pondré el corto total. Sí. Sí. Vamos a ver esto, vamos que él lo hice muy rápido en realidad. Bueno. Vuestra vez, por favor, tu te agregue este row, el segundo. Sí, está mal el segundo. Perfecto. Ahí hay un problema. El input de la columna en las operaciones. Ahí tienes producción. Vete a la configuración de la parte de abajo. Ve donde dice, ahí tiene que ser es, abre. Y ahí tiene que ser es. Ah, no. Tienes un problema ahí. Muéstame tu THDF input, por favor. El segundo. Muéstame tu esquema. Editar esquema. Y ahí está el problema. Ese no es. Vamos entonces al siguiente. Dale a cancelar ahí. Vete a tu THDF output, el primero, que es el archivo que va a tomar como base. Dale doble clic ahí. Dale editar esquema. Editar esquema. Y haz lo siguiente. Exporta este contexto, por favor. Esa que está ahí. Esa que está ahí. Exportar. Y escoge el último nombre que tiene esa ahí, que es esa que está ahí, por si acaso. Dale guardar. Por si acaso no es igual. Dale guardar, por favor. Y sí. OK. OK. Dale OK, por favor. Ahora, en tu HDFS input 2, dale doble clic. Y vamos al esquema del 2. El HDFS input. Editar esquema. Y escoge ahí el botón para replay. El otro, el otro. El de al lado, el de replay. Ese que está ahí. Y busca el esquema que hiciste ahora, que es el último. A abrir. OK. Yes. Vete ahora a tu T-aggregator row 2. Y ahora, donde dice máximo temporada, input column. Por favor, ve y cambia. Debería ser total. Temporada. Enter. Perfecto. Vete a tu input 3. Listo. Vete el esquema, por favor. Dale ahí, reemplazar. Y ese esquema va a ser el de anualidad. Ese esquema producción. Listo. A abrir. OK. Vete ahora a tu input 4. Input 4. Y la entrada tiene que ser la del input. Dale ahí. Usar. Listo. Ahí. Listo. Vete ahora a tu THDFS opus 2. No, el opus 2. Ese que está ahí. Y copia. El nombre del archivo de salida. Pero ahí te faltó el nombre. Cambia el nombre. Anualidad on the record máximo ten. Anualidad on the record. Anualidad sí. On the record máximo on the record ten. Listo. Copia ese nombre y lo pega en el opus 4. Vete al esquema y dale el mismo esquema del que tomamos ahora, que era el último que está ahí. Y quítale el cross gear, que no tiene cross gear. Eliminar. Cambia el nombre a maximum on the record total. On the record total. OK. Enter ahí. OK. On the maximum total on the record. Bueno, eso está bien. OK. No hay problema con eso. El nombre es lo de menos. Siempre cuando tenga el orden. Listo. Ahora sí. Ojo con las entradas, por favor. Los inputs. Revisemos las entradas. Vete los opus, por favor. Los opus, el 1. Que revisemos las entradas. Opus 1 muestra el A doble clic. Con coma incluye el opus 2, por favor. Para ver cómo tienes la salida. Tienes, cambia la acción a over white. Over white, perdón. O acción de crear en over white. Dale separador de campo coma. Y dale incluir hider. Vete al input 3 para ver. Ahí es coma y perfecto. Y el input 4 muestra para confirmar. Y listo. Bueno, bien. Dígame. Sí, porque nada más salen 3 del target. Sí, señor. Así es. Bueno, vamos entonces. Y hacemos el teyoy. Aplica lo mismo que el tema. La primera tabla subordina a las demás. Entonces, voy a conectar la primera tabla que está aquí, que es el 3. Y lo conecto acá. Y conecto el 4. Al join como tab. Ahí te aparece lo mismo que te aparecía en el tema. Tengo main y tengo lookup. Conecta el join al telorow. Y configuremos el join. Doble clic. Amo donde estoy. Mira que te aparece una opción que dice incluir lookup, columnas en output. En pocas palabras está diciendo, oye, las columnas que están en output 4, el lookup que es este de aquí, quiere que se vea en el 3. ¿Quiere que se vea en la salida? Aquí carece de sentido porque las columnas que están aquí son las mismas de allá. Decir que hay 3 y acá hay más en el principal. O sea, que eso carece de sentido colocarlo ahí en este caso. Vamos en el key definition y hagamos el join. El join sería fácil. Agrega una nueva columna. El state name del 1 va con el state name del input 4. Cambio aquí el season del input 3. Iría con el season del input 4. Y ahora el total temporada iría con el máximo de temporada del input 4. Si lo deja hasta ahí, lo que se haría sería un left join de input 3 al input 4, pero lo que me interesa es un inner join. Entonces es chuleo inner join. Todavía no lo ejecute. Carece de sentido que deje los temporales allá. Coloque un T-post job. Y mande a eliminar los temporales con el THDFS. Y aquí define el orden de ejecución por lo que, por la buena práctica que deberíamos tener. A la pregunta que me hicieron de cuál inicia primero, debíamos acostumbrarnos entonces a definir este orden aquí. Con con con su Joke, ¿OK? Quedaría así. Bueno, voy a a a a disminuir y voy a subir esto acá. Sí, dígame. No. Sí, pero vamos a lo siguiente, en el primer momento. La pregunta creo que me dice ¿por qué uno este con este aquí? Fue así, ¿verdad? Bueno, bien. Lo que pasa es que este segundo recordará que va a tomar el archivo que saca de aquí. Listo. Entonces, aquí se está ejecutado secuencia. Significa, terminado este, ejecuto este. O sea, que estos dos no lo podría ejecutar en paralelo porque este de aquí depende de este de acá. Me tocaría ejecutar lo secuencial. Y este su yo que está aquí depende de los dos su yo de arriba. Entonces, aquí me tocaría ejecutarlo secuencial. O sea, si quisiera colocar este multi, bueno, pero tampoco funcionaría este extra acá, multi que se cucho, quitándole evidentemente los las las líneas, podía usarme un error de ejecución porque terminaría uno sin haber terminado la dependencia del otro. No sé si esa fue su pregunta. Lo que pasa es, ya ya tenéis su parte gráfica. Disparador aquí. Y se da cuenta. Lo que pasa es que para unir su yo por orden, tengo que coger el primer elemento. Es una cuestión gráfica. Es decir, este último no lo puedo conectar con un su yo acá de aquí porque la herramienta le pide que coloque el primer componente del su yo para conectarlo al primer su yo. No sé si me entiende la idea. Ahora, pero fíjate algo, esa herramienta, que es la que está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, está aquí, y ahora sí volvemos a ejecutar y debería exactamente ejecutar así como hubiese colocado un subyork ok también hubiese funcionado también gracias por la observación también es válida la forma ahí lo que cambia es la idea tendría un solo subyork y vamos a ver si esto me da aquí me salió desorganizado pero bueno aquí tenemos vamos a verificar si estos valores son reales debió dar exactamente lo mismo donde tenía ese archivo bueno me dio esto vamos a ver el 2010 de autun es uno solo no hay problema el 2000 fue para carif está bien saqué el año 2000 y el de ravi es uno solo o sea que sí si quieres pero es exactamente lo mismo martina tienes un error voy a verificar un momento tu pantalla parece ser que vamos a ver un momento muéstrame por favor tu esquema y editar un momento editar esquema y ese esquema está mal porque ese es el de producción dale replace un momento y ese esquema es el primero que sacamos que es ah no eso lo hicimos de otra manera dale cancelar ahí por favor sale y también dale cancelar vete donde dice la parte de configuración del input vete donde dice esquema esquema y ahí está un combo vos expande el combo por favor no el combo del lado el del ladito donde dice built in ese vete a repositorio dale yes vas a buscar el espera que cargue un momento entra a file delimited entra a producción entra a metadata escogue metadata dale click en metadata y es y revisemos editar esquema por si acaso ve si sobre escribió o qué el del ladito ese de ahí si de gustes para ver ok ves el teléfono si agregue este row uno seguramente pasó algo aquí vayas en el input column en el input column de la operación vayas a operaciones y donde tiene la función suma el input column tiene que ser total porque como cambió el esquema de entrada ya le cambia es producción perdón ejecute para ver total temporada no creo que no lo cambió momento entra al tag de este row vayase al tag de este row dos vayase al hdf ese input un momento al dos ese que está ahí dele editar esquema un momento editar esquema ok esta temporada está bien ok muestren nuevamente el room para ver donde lo está marcando por favor por favor por favor ese que está ahí dice incompatible input con output vamos a confirmar vayase al chd al thdf ese output un momento el output uno si el output uno el esquema por favor eso está bien ok vayase al input uno al input uno al input uno revisamos para ver ahí está bien dele editar esquema un momento editar esquema dele nada más verlo para ver ahí esta producción tiene que estar ahí flowat cambia a flowat por favor pero claro ese equivoco fue la herramienta porque la herramienta no sé por qué le clic ahí le da flowat y le da enter dele cancelar dele nuevamente editar que cogimos la opción view nada más chain vamos ahí donde dice flowat ok intenten ejecutar para ver vayase al tjoin por favor vayase al tjoin dele editar esquema al tjoin editar esquema y falta algo falta una definición ahí vaya agregue dele cancelar ahí y agregue una nueva variable en el key de feature una nueva ahí listo y compare el total temporada con máximo temporada dele clic ahí máximo temporada entra ahí por si acaso muestreme el input 3 por favor y muestreme el input 4 input 4 muestreme el output 2 para finalizar muestreme el tjoin en teoría si dele ejecutar nuevamente en teoría no sé por qué no le no le marco bueno aunque debió hacer creo que va a hacerlo también está marcando 0 significa que no hay muestreme el input 2 por favor el input 2 y muestreme el esquema del input 2 a a está bien muestreme el target no ahí no es suma ahí es máximo el max enter y ejecute para ver pero aún así cuando no tenía esa variable debió darle un registro pero no sé por qué no le dio dice solito como si estuviese pobrecito vamos a ver no hagamos algo ahora lo reviso porque no sé por qué le está dando 0 es decir ahí el inner join que tienes ahí es decir los registros de arriba no cuadran con los de abajo no hay match ya estamos para ver ahora en el break yo me conecto su máquina y reviso para ver qué pasó bien cerrado bueno listo hagamos un pequeño break de 10 minutos y volvemos en 10 entonces listo voy aquí a volvemos en 10 entonces bueno 12 y 40 en cada uno ya venimos bueno continuamos encuadate del error Martina porque no te estaba dando resultado no quite el el te post job pónselo entre el te post job ese te post job el que está te da clic en el centro derecho desactivar post job listo que venga le doy cuanto z le da clic derecho desactivar world post job listo ejecute para ver y vamos a los archivos que nos creó así ejecute para verla a ver un momento por favor perfecto vayase ahora al browser el F5 listo abra el que se llama maximo tengo un momento y veamos el orden que está guardando ahí dale descargar abrelo un momento a ver listo el orden está así está bien ahora vayase el otro el que no es maximo sino ese que está ahí descarguelo un momento a ver el primero ese que está ahí no veo el error todavía vayase nuevamente al te join al te join nuevamente para verificar la condición porque los archivos parecen estar bien vayase al talent bit data un momento y al te join le doble clic al te join te join nuevamente al te join row 7 stain name que cuestión tan rara para revisar déjeme ahora lo intento ver más en detalle a ver si dale clic ahí nuevamente listo season de acá intento ejecutar para ver activar current job ejecutar está entrando bien, es decir está leyendo bien los registros pero el join lo está haciendo mal está dando 0 muestre el output del 2 el esquema doble clic ahí un momento dale editar el esquema un momento listo y el otro también ah no no ya creo que sé cuál es el error vayase al al input 2 al editar el esquema muéstame el esquema ese ok listo ya dale ok, vayase al te agrega el row vayase a editar el esquema no ahí está bien no está bien está bien pues nos sigamos y vamos a ver a más tarde verifico para ver con detalle a ver qué pasa bueno sigamos entonces listo ahora revisamos bien vamos a agregar aquí un componente en este mismo job al final lo vamos a llamar el teloc está de statistic stack catcher ya vimos el teloc está de statistic está de statistic enter lo voy a colocar acá abajo conecta este señor a un temap agrega un teloc row esto lo que voy a hacer es verificar y me va a permitir analizar los tiempos de respuesta por componentes digamos quieres verificar a ver cómo tuyo y cuál es el tiempo de respuesta de pronto en qué componentes hay cuello de botella entonces este componente es muy bueno para esa parte vamos a cruzar aquí a unir el tech catcher con el temap y el temap lo unimos con el teloc row también pude haber hecho cambiarlo a un te file delimiter pero en este caso lo voy a dejar en teloc row salida y lo voy a llamar salida estadísticas va al temap y vamos a definir las siguientes columnas estas son las columnas que tiene para analizar los tiempos de respuesta agrega el PID que sería el identificador del proceso entonces lo voy a mandar para este lado agrega el moment que sería el tiempo en que inicia agrega el mesa el mensaje el mesa style y el duración ya digo cuales son PID, moment mesas mesa style y duración esos cinco puedo haber agregado mas pero simplemente para ver nada mas esos cinco elementos cinco componentes lo vamos a agregar el PID moment, mesa, mesa style y duración perfecto le damos aqui ok yes y ahora usted decide que componentes desea analizar las estadísticas, entonces para cada componente talent por ejemplo voy a en el input uno le voy a dar doble clic y todos los componentes de talent van a tener normalmente estan en advanced settings una opcion que dice tech, tech stack catcher statistic si usted chulea ese señor significa que el va a analizar las estadísticas de ese componente es cual los componentes que usted quiera yo voy a coger este tech aggregator road el primero advanced settings y chuleo tambien stack catcher voy a coger el input dos y le doy tech stack catcher aqui todos los componentes van a tener esa caracteristica en talent entonces tu le des chuleas y escoge los componentes a los cuales tu deseas analizarle las estadísticas, perfecto esto ya, hiciste esta configuracion ya? esto bien ahora en el job tu vas a escoger que componentes deseas analizar las estadísticas, va a hacer entonces esto sea cualquier componente en este caso yo coge el input y en la seccion advanced settings todos van a tener un tech stack catcher statistic yo chuleo aquellos componentes a los cuales yo quiero analizar las estadísticas en este caso yo escogí el input escogí el tech aggregator road advanced settings lo chulee y el input dos advanced settings lo chulee significa que para esos tres componentes que he chuleado y que he elegido solamente van a analizar las estadísticas para esos tres componentes perfecto si esta agamable vamos a ejecutar nuevamente lo que usted quiera, yo escogí el input uno el tech aggregator road uno y el input dos el ISO aquí le muestra las estadísticas vamos a colocarla acá más o menos ahí tengo todo eso que está ahí está en milisegundos cuanto demora bueno ahí debí colocar un momento y agrego porque no me alcanza a ver un momento porque no sé qué componente está hablando me tocaría agregar a project yo mesa duración un momento creo que es context un momento para ver porque no sé qué componente me está hablando listo ejecutar listo agreguenle señor al tema le agrega origin en el tema como salida agrega origin para saber quién es el componente que deseo origin y ahí si me va diciendo a qué componente se refiere porque antes no lo tenía antes me gustaba de manera genérica y ahora debió aparecer acá al principio las estadísticas aquí está aquí está ahí está los nombres de los componentes entonces cuanto demoró que estaba haciendo vamos a ver cómo me salió a mí por ejemplo el te agrega esto row uno demoró la ejecución 7.000 de 141 7 milisegundos segundos perdón y así sucesivamente está mostrando ahí cuánto demoró cada uno de esos nada más que todo es para analizar cuello de botella cuando tienes un yo que de pronto algunos tiempos de respuesta muy altos te puede servir esta estadística para analizar cuál es el componente que más está demorando y ver para ver si cambia el componente o cambia la arquitectura que tengas de tu yo bueno creo que aquí dejamos esta parte y seguimos con otro ejemplo entonces definamos otro job vamos a llamarlo job create job analysis underscore nba analysis underscore nba job analysis nba veamos entonces lo que queremos hacer en primer lugar los archivos para este job se encuentran en s3 vamos a descargar primero los archivos pero lo vamos a descargar siempre y cuando ya el archivo no esté o sea si el archivo ya está en hadut no lo descargamos si no está en ese caso lo descargamos esa es la idea que vamos a hacer entonces los archivos a descargar están metidos ya les voy a decir en un bucket están metidos en el bucket llamado noble pro dentro del bucket en un bucket al final viene siendo la carpeta hay una subcarpeta que se llama tin y dentro de tin hay tres archivos que se llaman exactamente igual de esta manera un momento que no me copió a que estoy con un brose bueno ya les digo los nombres tin vamos a buscar un archivo que se llama nba 2004 shot punto csv y aquí tengo entonces 2005 y 2006 claro que con este archivo la nba registra pero una cantidad de cosas de todos los jugadores este listado tiene los tiros realizados por bueno evidentemente ahí es una muestra muy pequeña pero las muestras reales que ellos guardan por ejemplo todos los tiros que haya tirado alguien en toda su historia entonces aquí va a aparecer por ejemplo coby bryan todos los tiros de toda su vida y organizados por año por mes si falló o no falló en que distancia lo hizo o sea son unas estadísticas sumamente detalladas vamos a lo siguiente ahora el problema que tengo es que los archivos no los tengo en hadu lo primero que voy a hacer es subir los hadu pero con la condición de que solamente los voy a subir siempre y cuando el archivo no está en hadu entonces para esto voy a analizar lo siguiente vamos aquí a los ejemplos s3 s3 y el descargar archivo s3 s3 voy a copiar toda la conexión esta que tengo del subir archivo me sirve y la voy a pegar en mi nuevo job en el s3 voy a pegar el que se llama yo descargar archivo s3 subido los componentes son los siguientes primero quiero descargar siempre y cuando no esté entonces aquí hay un componente que se llama t h d f s agregue lo por favor t h d f s exist h d f s exist bien en este caso voy a hacer tres de este señor porque primero hago uno y después completo uno porque queda más fácil completarlo y después copiar y pegar voy a copiar agregar un componente que se llama t s3 get voy a tener un t h d f s put para colocar el archivo que descargue y voy a tener acá y lo voy a cambiar de forma aquí un tef file delete o sea que borre el archivo que descargue la máquina porque ya no tengo tef file delete se llena de cinco componentes que necesitamos vamos a conectar el t h d f s exist con el disparador run if al s3 disparador no me el s3 lo conectamos entonces al h d f s put con component ok y el put lo conectamos al delete con component ok bueno listo configuremos las conexiones del s3 primero vamos aquí al s3 y decimos que usar conexión existente ya la tomamos por defecto vamos a las conexiones de los h d f s y decimos usar conexión existente y hay que seleccionarla porque aunque haya una pues hay que seleccionarla y la del put también la del put usar conexión existente y este señor h d f s conectio perfecto empecemos configuración vamos con el h d f s exist bueno vamos a escoger aquí una ruta para que sea más sencillo después de cualquier archivo después le cambio el nombre después de la misma producción ah no aquí me toca colocar eh carece de sentido si ah primero al directorio bueno el directorio aquí perdón aquí ya en el directorio por favor vamos a ya tenemos la ruta entonces la habíamos definido en un contexto el día de ayer por favor vayase al al job a los context e importa por favor el contexto que está a nivel de proyecto ok aquí vamos ahora si nuevamente al t h d f s exist y quito las comillas doble que esta en el directorio porque va a ser referencia a una área de contexto y si es de contexto no toca definir entre comillas doble entonces voy a darle aquí con control espacio y voy a encuerr ruta raíz ahora la ruta vamos a buscar este archivo que se llama nba así todo la nba de mayúscula onderecor 2004 onderecor shops onderecor.csv exactamente así como esta y la pegamos en el relative o el file name según la ruta relativa perdón así vamos a ver como quedo esta parte perfecto listo bueno configuremos la conexión entonces vamos aquí vamos a la linea que conecta el h d f s con el t s c 3 doble clic a la linea esa doble clic a la linea no le irá la linea ahora cuando es condición tiene que ir a la perspectiva online y aquí esto antes del si está un h d f s exist vayas en la perspectiva online y busque ese componente aquí lo tengo h d f s existe un expande por favor en la perspectiva de online y aquí están varias variables para utilizar está error mesas está file exist y está file name entonces tome ese file exist y lo suelta a este lado la condición se debe cumplir o sea pregunto que debería entrar cuando existe o cuando no existe cuando no existe está para descargarlo entonces como esto es negativo para negar en java le das el símbolo que es admiración dale admiración por favor para decir que vas a ejecutar eso siempre y cuando sea negativo o sea que el archivo no existe perfecto listo nega te quedaría de esta forma por si acaso que hay algunos que están haciendo esta parte no lo ha terminado quedaría más o menos así nada más le agregué este símbolo de aquí eso está así ya vamos al TS3 get y le decimos el bokeh donde va a descargar eso se llama noblepro noblepro de programación y la key la key vamos a copiar el nombre de archivo que lo tengo acá que se llama nba voy a copiar este archivo y lo voy a pegar aquí en la key y le agrego que ese señor está en la carpeta team debe quedarte más o menos así ya te lo muestro así de queda que lo busque en la carpeta team bueno su carpeta más que todo este archivo bueno parece que ya perfecto aquí le voy a decir donde lo va a descargar entonces borro este señor le doy context ah nosotros lo teníamos verdad se me había definido sería doble c 2 puntos slash temporal y lo voy a llamar exactamente igual como el original para no perderme o sea que aquí la ruta puede variar, puede variar la ruta en el caso mío temporal o hagamos algo diferente hagamos algo diferente, hagamos algo diferente desen cuenta que estoy colocando una ruta absoluta teje la ruta nada más sin el temporal teje la ruta así o sea le quedaría así y él la va a agregar en el rupado que tiene el proyecto y me despreocupo de la ubicación o sea que déjela así ahí lo coloca ese es una ruta relativa y le va a colocar justamente donde el proyecto se vaya a ejecutar, perfecto 2004 ahí lo que va a hacer eso en el put listo le voy a decir directorio local uy uy ahora me ahora me complico la vida, listo NA 2004 SSV nada más quedó así listo, cuando que ahora me sale listo, cuando que me salga error ahora vamos a lo siguiente a ver si me sale error voy a copiar el nombre del archivo que estoy descargando directorio local lo va a dejar vacío porque va a tomar por referencia la ubicación en que esté el la máscara, voy a buscar el archivo voy a agregar aquí un elemento no le agrego ruta nada más vamos a ver si funciona así y el nuevo archivo se llama también así NBA under score 2004 under score show listo y por último en el delete vamos a pegar nada más el nombre del archivo porque supuestamente lo va a buscar en la ruta en que esté el proyecto me preocupa nada más el put que el local va vacío no sé si ese componente me causará error bueno creo que ya nada más hay que ejecutarlo y ya listo vamos a ejecutarlo para ver estoy en análisis NBA ejecutar primera vez que voy a ejecutar debería subir el archivo descargarlo perdón primero verificar si está si no está lo descargo de C3 y lo pongo en hadut y después borro el archivo como tal bueno está ejecutando listo ahí no lo encontró está descargando ahí va el true no lo encontró el put no lo encontró porque la ruta absoluta de este local este no lo encontró aquí no me salió el plan como quería me tocaría colocar un directorio local espera un momento e intento hacer algo aquí para colocar la ruta absoluta o sea confirmemos algo este archivo tuvo que haber quedado en la ubicación donde ejecuta los jobs un momento a ver ese big data está metido aquí en archivos bot de programa talent big data workspace local project process procesamiento listo no ahí no workspace local project que raro esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta esta ruta está en archivos de programa en windows y no va a dejar de escribir ahí creo que ese es el problema que tiene que pena me va a tocar colocar la ruta completa sería C2 puntos C2 puntos slash temporal slash temporal slash NBA si aquí tuvo un problema que seguramente por el permiso de donde está la carpeta permítame y lo pruebo para ver el local directorio lo voy a mandar a temporal listo voy a ejecutar aquí para ver detectó que no estaba lo descargó y lo subió voy a verificar para ver ahí está NBA 2004 shock y debió borrarlo de acá es temporal sí listo en setting bien claro no funcionó la idea de la de la ubicación de la relativa es porque intentaba crear un archivo en archivo de programa y por seguridad que en windows no lo dejó crear a ver vamos a ver un par de errores, Fernando veo que tienes errores vamos a ver veamos por qué no existe porque intentó borrar un archivo que no existía si no quieres que ese error salga dale por favor doble clic en file deleted y ahí mira donde dice file on error como está chingado el que hace manda un error pero por qué no lo borró vete a tu get por favor a tu TS3 get doble clic a ver si es de la ruta ahora, cómplete la ruta ahora del ten cómplete la ruta completa y la pegas en el file delete cómplete todo cómplete todo un solo y lo y lo pegas allá en el file delete todo completo porque ese es el que quiere borrar ahora haz lo siguiente vete a tu y borrate el archivo nba borralo ahí está si ese que está ahí delete ejecuta vamos a ver como es la primera vez vamos a ver ok listo vete a tu por favor vete a tu si al hadut dale dale f5 ahí y ahí está ok vamos a lo siguiente ahí seguramente borró de temporal y listo lo borró vuelve a ejecutar tu job y no debería descargarlo vale ejecutar nuevamente run esto ya empezó date cuenta que hay está false te marcó false leaf significa que no siguió el flujo normal hacia arriba porque ya lo encontró bueno quien más tiene errores a ver eso alejandro vamos contigo alejandro alejandro alejandro vamos a ver que pasó esto cargó un momento que no cargó la imagen ahora si la cargó veamos el error que tiene no match file ah listo vete a tu tse3 get por favor tse3 get doble click por favor listo estamos dando temporal vete a tu thdfs put el put y ahí donde dice local directory apuntale a ten dale click ahí en el botón que está al final el botón que está en la misma línea ahí está no pero nada más la carpeta la carpeta nada más la carpeta tengo nada más vamos a colocar ahí la carpeta déjalo hasta borrar hasta el slash eso ejecuta a ver bueno ahí ya está preguntando si está en hadut ahí no está ok listo debería estar ahí listo vuelvelo a ejecutar para ver no debería descargarlo vuelvelo a ejecutar ya voy un momento un momento ya llego ya ah está excediendo ahí está false no sigue la ejecución normal que me habló por ahí Héctor vamos contigo Héctor vamos a ver qué pasó si está false que existiera veamos la condición vete la condición por favor ah porque ahí es negarlo, miégalo es decir para negarlo vete a la primera a la primera entonces te pones en el column antes de para que inicia y colocas un signo de de admiración admiración no es un es un pipe o es una admiración ejecuta para ver si pareció ver pareció un pipe si no más que error porque Antriménez está preguntando si existía y no existía ahora si no existe vamos a ver ahí está true o sea no existe ok lo está descargando lo está subiendo y listo vete a la condición invertida ahí está nada porque lo ahorro exactamente seguimos, jasmine vamos a ver qué pasó ahora si ya cargó ahí está diciendo porque tiene un doble comilla en el file max ese file max tiene doble comilla o sea tiene dos comillas al inicio borre una de las comillas y tiene unas comillas al final doble comilla al final de ese mismo file max quita una comilla lo mismo lo tiene del otro lado tiene dos comillas que inician listo, entra ahí ejecute para ver pues nos vamos para ver listo no está y el delete váyase al file delete por favor file delete doble clic ahí, ahí falla porque el archivo no lo encontró, váyase a su TS3 get y la ruta que va a borrar es la de file temporal, copia la ruta toda la ruta que tiene ahí toda la copia y la pega en el file delete pégale ahí porque es listo ahora haga lo siguiente váyase a su browser de Hadoop de lf5 ahí borre el archivo nba para volver a ocultar para que nos borre todo, listo, listo delete y ejecute para ver, perfecto ahora sí debe estar todo bien nos veamos lo siguiente ahora, me tocaría hacer tres flujos no había visto bien, vamos a ver ah, parece ser que no estás lo guiado al s3, vete un momento a ver, vete al TS3 putz, al que es, perdón, TS3 que es, dale doble clic doble clic ha listo ahí en el bucket, en el key es team porque también tiene la subcarapeta team de equipo de inglés team, después de la comida doble exactamente, intenta ahora para ver perfecto ahora sí bueno, copiamos este señor y de rapidez vamos a copiar el archivo de entrada se va a llamar, vamos a cambiar, dice 2004 a 2005 vamos a cambiar el 4x5 en el get, vamos a cambiar nuevamente el 4x5 en los dos lados aquí debía ser una variadera de contexto que sea más sencillo, pero ya en el putz, cambio todo lo que tenga 2004 por 2005 y en el file delete cambio todo lo que tenga 2004 por 2005 nuevamente copia todos los componentes y va a copiar de 2004 a 2006 ahí se intenta pegar este señor por acá que me devuelve, bueno aquí aquí le dañé la presentación pero ya qué bueno aquí voy a coger y cambiar todo lo que tenga 2004 por 2006 todo lo que tenga 2004 por 2006 y el putz lo que tenga 2004 por 2006 y el delete todo lo que tenga 2004 por 2006 aquí pude haber hecho un programita aquí un pequeño script que me leyera el archivo y mandaba por parámetro el valor del archivo que está en el S3 pero me quedaba como eran dos archivitos me quedaba creo que más fácil de esta forma que estaba escribiendo el el script eso allá donde iba, bueno bien en primer lugar para que usted quiera que se ejecute en paralelo déjenme muestro aquí por defecto se ejecutaría secuencial que fue la pregunta que me hizo se me escapó el nombre Héctor, que aquí de la forma tradicional ejecutaría primero este primero, después ejecutaría este y después ejecutaría este si quisiera que esto se ejecutara que es un buen caso para ejecutarlo de forma concurrente entonces yo voy por acá le digo extra y le digo anti-thread pero espera que hay un momento que para el caso en particular no me va a servir yo digo por qué me parece súper el caso que estamos analizando ya terminamos imagínese lo siguiente, ahora no lo agrega usted allá, lo voy a hacer yo acá yo necesitaría ahora 3 HDFS no lo usted voy a hacerlo acá 3 HDFS input 1 por cada archivo porque los voy a unir ahora imagínese lo siguiente, voy a tener este señor acá voy a tener este señor aquí voy a tener entonces 1 2 y 3 no lo agustéis acá voy a unir estos con un T-unit que vivimos alguna vez y vamos a suponer que vamos a dar aquí un telocrop voy a mandar aquí fila ven listo al telunit espera para que me entienda la idea de por qué para este caso sería interesante analizarlo pero con esta versión de esta herramienta no me da para solucionar el caso ten lo siguiente, supongamos 4 se me ejecutan 2, 3 no se me ejecutan todos al tiempo eso es, ese es el concepto pero veamos lo siguiente, si aquí aplicamos concurrencia vamos a suponer que él ejecuta primero este subyork este subyork que va a pasar que va, él espera que estén descargados los archivos en HDUD y no va a funcionar vamos a suponer que ejecuta este york de aquí y después va a encontrar este archivo en HDUD pero los demás no va a encontrar entonces, qué sería interesante primero, no podría tampoco unir los 3 subyork cuando terminen por ejemplo, yo nada más puedo hacer lo siguiente este un subyork aquí este un subyork acá ya no me deja porque yo nada más puedo conectar un subyork con un subyork no 3 subyork al mismo no podría entonces, aquí si hay una herramienta interesante bueno, no está aquí, pero en el otro si está me recuerda cuando de pronto si lo alcanzamos se lo alcanzo a mostrar yo quisiera que estos 3 se ejecutan al tiempo y después que se ejecuten los 3 al tiempo mandar a ejecutar esto entonces, aquí hay un componente hay un componente que se llama así se llama que es super interesante se llama T Parallelize entonces ese T Parallelize conectaría los 3 elementos de estos de aquí y después del T Parallelize conecto este subyork entonces, estoy diciendo, oye, estos 3 ejecutarlo en multitarea cuando los 3 hayan terminado entonces si empieza acá entonces, es interesante ese, y me solucionaron el problema este de aquí, no lo podría hacer porque este componente no está aquí si me toca secuencial ni modo secuencial porque este subyork depende de los 3 de arriba entonces, si me toca secuencial porque ni modo no tengo herramienta, entonces con esto este subyork con este de aquí con estos 3 por favor, y agregué 3 input 3 HDFS input por favor y les coloca la ruta bueno, en primer lugar pues, usa la conexión existente a todos y aquí agrega el subyork y aquí agrega el subyork tome el primero que descargaste para el primero y después copia la ruta y le cambias 2004 2005 y en el otro le cambias de 2005 a 2006 ehh, bueno permítame y te confirmo vamos a descargarlo aquí mismo para ver desde aquí vamos a descargar este que no sé cómo está el formato buena pregunta de todos modos voy a descargar y bien, sería como efectivamente y tienen encabezado efectivamente, entonces me voy nuevamente al pic data al pic data lo voy a hacer entonces y en el input le coloco que es separado por coma y tiene un hider de uno separado por coma hider de uno bueno, me voy al input 2 coma hider de uno y al input 3 me voy entonces hacia coma y hider de uno aquí este señor me está marcando algo raro ahh, no tiene esquema todavía le hizo vida nos faltan los esquemas de entrada los esquemas de entrada no hacen falta entonces aplicamos el truco descárgese por favor el archivo que ya subió a hadud el primero que ejecutamos que se llama nba2004shop para tomar la metadata del 2004 que es la misma para 2005 y 2006 es la misma la misma columna en pocas palabras descárgese por favor entonces de hadud nba2004shop bueno y entonces ahora vamos al truco vamos aquí y definimos una metadata aquí en el delimited crear archivo delimitado vamos a llamarlo nba next y buscamos el archivo que tuvo que haber quedado en descarga seguramente descargas, aquí está nba shop y el señor el señor se encuentra separado por comas y tienen cabezados nba llamar al archivo y tienen cabezados y separado por coma perfecto listo vamos aquí next creo que demoro más si exporto el metadata y después lo vuelvo a importar vamos a darle aquí finish mejor y lo hacemos de la segunda forma finish vayamos a la confesión del input 1 y donde dice esquema le damos click en el combo boss que está en builtin finish repositorio y darle click ahí en el botoncito que está al ladito del text file que genera y busque por favor el archivo delimitado de nba y coge la metadata de nba y automáticamente le agrega nba metadata ok y le agrega yes hace exactamente lo mismo con los tres elementos siguientes que 2 perdón input esquema, vamos aquí repositorio listo file delimited nba metadata ok y me faltaría el h3 esquema repositorio nba metadata ok aunque sale error ah listo que la conexión no la he hecho aquí bueno aquí lo doy guardar si ya la configuró intenta ejecutar para ver si no tenemos ningún error ese archivo está eladamente grande si está si todo está bien no tiene error mándelo a un archivo nba porque si no demoramos más mostrando esa salida ahí vamos a mandar un HDFS output porque si no demora es muy grande el teyunic lo uno con el HDFS output separo por coma listo conexión existente component list separamos por coma esta vez comprima los datos por favor e incluye un header porque creo que ese archivo apside no tengo mucho espacio allá en ese y el nombre lo voy a llamar entonces nba underscore nba underscore unido vamos a ver aquí si para que no pesara tanto ah listo gracias bueno voy a darle si después se desconfunde uno sin extension nba unido porque ese condimido pesario no tiene mucho espacio voy a detenerlo un momento y lo voy a volver a ejecutar y ya termino bien con esto voy a agregar un nuevo componente que puede ayudar a solucionar un par de problemas en pocas palabras voy a ver cuanto quedo este señor nba unido nba unido el original los comprimió bastante comprimió bastante porque cada uno pesaba 36 megas y el unido quedo en 9.86 megabytes megabytes megabytes por segundo bueno vamos entonces bueno dejamos hasta aquí un momento y vamos a almorzamos y volvemos entonces en una horita ok entonces dejamos un momento y volvemos en una hora para terminar este ejemplo y agregar un último componente que tengo para el dia de hoy entonces dejamos hasta aquí y regresamos en una hora listo bueno buen provecho
on 2024-10-09