48:57
2024-09-30 11:03:24
30:21
2024-09-30 12:02:29
3:29
2024-09-30 12:34:41
1:04
2024-09-30 12:43:50
1:22
2024-09-30 13:06:34
5:52
2024-09-30 13:08:57
5:02
2024-09-30 13:30:59
12:33
2024-09-30 13:46:10
49:55
2024-09-30 15:00:01
6:21
2024-10-08 11:02:02
8:16
2024-10-08 12:05:49
3:03
2024-10-08 12:26:15
Visit the Talend Open Studio para ESB / Data Quality course recordings page
United Arab Emirates - Talend Open Studio for ESB
WEBVTT--> el error puede salir o que tengas un espacio en blanco o un carácter especial que no acepte --> o en su defecto, ah ya lo hiciste ya perdón, que veras, o en su defecto que esté igual. --> Dele doble clic a géneros, cuando quieras configurar algo, una componente, hacemos lo --> mismo que el mesa boss, le das doble clic al componente que quieres configurar, doble --> clic y te aparece prácticamente el mismo menú que teníamos allá con el mesa boss, --> un poquito el basic, un poquito más completo porque tiene más elementos. --> Aquí es importante entonces, aquí si tú quieres puedes separar el carácter de --> separación, bueno, lo que tú quieras puedes configurarlo acá, pero aquí es importante --> aquí la opción que dice editar esquema, porque la va a usar mucho, este editar esquema en la --> posición puede variar, pero todos los elementos que tengan una estructura van a tener este --> editar esquema, si le das doble clic al botoncito que está al lado de editar esquema, --> dale clic por favor, vea la opción, no escoja ver esquema, sino cambiar esquema, --> chain, ok, y aquí puedes cambiar el esquema, dando, agregando nuevas columnas, cambiándole --> el nombre, cambiándole el tipo de datos, es importante que entiendas que cuando hago el --> cambio aquí, se hace el cambio en el jock más no en el metadata que lo tiene, al --> editar esquema, aquí editar esquema hay un pequeño botoncito y le das clic ahí y te --> aparece la opción, escoja la opción chain build, no verlo, sino cambiarlo, chain, ok, --> y aquí en esta sección puedes cambiar los nombres de las columnas, cambiar los tipos, --> agregar nuevas columnas, etcétera. Vamos a proceder entonces a ejecutar este job, --> vamos a hacerlo de forma diferente, si quieres lo ejecutas acá, donde tienes acá el --> icono, el perdecito acá del play, que es el símbolo universal para ejecutar acá el sistema, --> dale ejecutar ahí, aquí por defecto hay veces que la herramienta tiene un pequeño bot y me --> ejecuta el anterior, si ese es el caso que te ejecutó el anterior, te toca entonces, --> vamos a ver si sale acá, date cuenta que acá en el run, en el run que está aquí te aparece, --> te va a aparecer el nombre del jock que va a ejecutar, en el caso mío que se equivocó la --> herramienta, me aparece trabajo jock mensaje hola mundo, o sea me está ejecutando el --> jock anterior, vamos a ver cómo solucionamos este problema, este es un pequeño bot que --> tiene herramienta, voy a darle clic aquí en la primera pestaña a ver si me cambia el --> nombre del jock, no lo cambio, entonces aquí me toca hacer lo siguiente, cierro este jock que --> está aquí y lo vuelvo a abrir nuevamente, lo vuelvo a abrir nuevamente y verifica que ahora --> te haya cambiado, dice acá run dentro de paréntesis que está el nombre del jock que --> va a ejecutar, en este caso ese cerrar y abrir me hizo que cambiara el nombre del jock, ahora --> si procedo a ejecutar y lo que hace internamente es ejecutar el código java que generaron los --> componentes esos que están ahí, vea lo que tiene ahí, te muestra entonces la salida, --> de este lado, mira acá está, esa salida a nivel de lo que es el tell-off throw, --> supongamos que tú quieras cambiar la salida, vamos a configurar el tell-off throw, --> cómo hacemos para configurar un componente en talent, exactamente igual, baja el componente --> y le das doble clic y aquí te aparecen varias cosas, por ejemplo el carácter de separación --> tienen un pipe, vamos a suponer que yo quiera que el carácter de separación sea un jock, --> como está entre comillas dobles es un string y acá si tú quieres cambia presentación a --> básico a table, donde dice modo básico a table, ah no con table me quita el, porque --> table me lo muestra en un table entonces cae ese sentido el carácter de separación, --> cambia a table por favor y ejecuta con table --> Y te lo muestra en una pequeña tablita, ahí te coloca los elementos, te coloca las --> columnitas, te las separa, bueno y ahí vas probando las diferentes formas para ti que --> es más fácil leer una salida, recuerda que este tell-off throw va a ser muy importante --> para explorar tu jock, voy a ver qué me está dando para confirmar en realidad que todo --> esté bien, nota lo siguiente ahora, nota que cuando uní el género con el tell-off throw --> aparece un color de fondo azul, ese color de fondo azul indica en que está metido en un --> solo su jock, queriendo decir con esto en que en realidad ahí lo que tengo es un solo --> su jock, los elementos que se conectan entre sí genera un solo su jock, si no están conectados --> entre sí genera tanto su jock como elementos por separado del sistema, perfecto ahora hagamos --> el mismo ejercicio que es prácticamente lo mismo aunque la confusión puede ser un --> poco diferente a nivel entonces de lo que es un archivo en formato por ejemplo JSON, --> en el mismo jock vamos a hacer lo siguiente ahora, bueno vamos a cada repositorio y entonces --> tú ya identificas qué tipo de fuente la que quieres leer, como en este caso el ejemplo va --> a ser un JSON, entonces vamos a buscar una fuente de metadata que sea un JSON, aquí está --> file JSON, dale clic derecho entonces vamos a dar aquí crear el game a JSON, --> permíteme ver el nombre de este señor JSON porque se me escapó el nombre de JSON y vamos --> a llamarlo entonces artista, llamemos el metadata artista, vamos a darle aquí next, --> y aquí hay una pequeña variación con la configuración de este componente porque ahora --> este componente puede ser de entrada o de salida, digamos de salida cuando yo quiero --> escribir un archivo en esa estructura, en la estructura de metadata, en este caso --> va a ser de entrada, dejamos por defecto de input que está y aquí te pide entonces --> primero a un par de cositas aquí, recuerda en que a nivel de estándar de lectura de --> un JSON y a nivel de un XML hay dos lenguajes de consulta, un lenguaje de consulta que se --> llama XPAT, normalmente ese señor es muy bueno para leer archivos XML y un formato --> de consulta que se llama JSONPAT, pero yo podía por ejemplo leer un JSON con formato --> XPAT, es decir XMLPAT, llámala así, en este como es un JSON lo más recomendable es que --> por defecto que es JSONPAT, que ahora te explico cómo funciona ese JSONPAT, ahora aquí te pide --> el browser, donde está el archivo, vamos a navegar para encontrarlo y lo vas a encontrar en --> Dataset, Jason, ahí tienes artista Jason, en Dataset se llama Jason, esto es lo que aplica --> el JSONPAT, entonces ahí te ajustarán el formato JSONPAT, ahí donde dice schema viewer, --> ese que está ahí, notarás que hay un símbolo de peso, verdad, ese símbolo de peso indica en --> el JSONPAT que es en la raíz, acto seguido hay un ítem que se llama data, pero como --> particular ese data que está ahí tiene un corchete y tiene un asterisco, cierra corchete, --> indicando en que tengo un ítem en JSON que se llama data que corresponde a un array, --> como sé porque está encerrado entre corchetes, eso te está diciendo el JSONPAT y dentro de --> cada uno de esos componentes o los elementos del array va a haber entonces una estructura --> que tiene dos ítems, uno que se llama artista ID y otro que se llama name, eso es lo que --> es JSONPAT, vamos aquí entonces, aquí donde dice next por favor, ahora te pide lo siguiente que --> definas cuál va a ser tu consulta JSONPAT con respecto al archivo, entonces mira tú aquí está --> el absolute path y qué elementos va a sacar, mira lo siguiente, ve mejor acá cómo sería la --> historia, ve acá mi pantalla mejor, si yo digo que el absoluto path es este señor que está aquí, --> listo que está acá y ahora yo quiero mostrar estos datos que están aquí, voy a llevarlos --> todos aquí y yo le digo refresh, un momento para ver que me muestre estos datos, mira lo que --> está haciéndome, me está mostrando es el array pero como si fuese una sola línea, por la forma --> en que estoy utilizando el JSONPAT, nuevamente le digo mira el archivo origen digamos, la parte --> origen es el root y léeme esto que está aquí pero léeme esto que está aquí pero léeme como --> si fuese una columna todos los señores que están ahí por la forma en que definía el --> ahora cuando es un array y tú quieres sacar los elementos de ese array, --> entonces lo que tiene que hacer es lo siguiente, llevas aquí el array al JSONPAT que te queda --> como elemento inicial, el array y va a decir oye de ese array sácame estos dos elementos, --> de cada uno de los componentes de ese array sácame estas dos columnas, si tú das aquí en --> el array como tal, ahí lo tienes, es por la forma en que define el JSONPAT, este JSONPAT no es muy --> complicado cuando tienes un JSON de referencia de entrada, pero seguramente vas a leer algunos --> JSON que te va a volver de pronto un APRES o te va a volver un SWAT, que vuelve un XML en --> que de pronto la estructura la desconoce, entonces te toca saber un poco de lo que es --> JSONPAT. ¿Qué estás haciendo Ernesto? Ah no Ernesto, ya ahí no puedes quitar esa, --> llévate el, te parece en rojo porque está, llévate el data, desde data, si quieres desde --> data, entonces llévate el peso, llévate el peso por favor Ernesto, mira si intenta llevar --> el peso hacia allá, no, salte, dale cancelar, inicia nuevamente porque parece que hay un box, --> dale cancelar, cierra eso, hoy intenta nuevamente hacer clic derecho en el JSON, --> crea nuevamente el archivo JSON por favor, crear JSON esquema, listo, llama a la artista, --> Input into JSONPAT, búscate el archivo exactamente en la artista, dale next, --> escoge data, data y suéltalo en el solute pato, desde data, si quieres desde data, --> suéltalo en el solute pato, y ahora los nombres de columna que están ahí, --> artista y name, seleccionalos, listo, y name seleccionalo y lo suelto de este lado, --> dale refresh preview para ver, refresh, refresh a ese que está ahí, espera que cargue --> y ahora sí está de manera correcta, leído, aclaro que este JSONPAT es sencillo, pero quizás --> puedas tener un JSONPAT que es un poco más complejo, que puedas tener Array dentro de Arrays, --> o Keto JSON dentro de otro Keto JSON, entonces es un poco más complejo, aquí lo que te invito --> es si de pronto no te acuerdas de esta parte es cómo se hacen consultas a nivel de JSONPAT, --> simplemente esa parte, listo, damos aquí next, me va a permitir entonces mostrar cómo --> va a quedar el archivo al final, ahí está cargando, listo, es lo mismo que aparece aquí, --> listo, artista, nombre, vamos a darle aquí finish, listo, no había dado finish, perdón, --> ustedes vamos a hacer lo mismo, vamos a leer, vamos a leer, vamos a leer ese archivito, --> entonces qué hacemos, vamos a lo mismo, tomo el archivo de metadata, lo selecciono y lo suelto --> de este lado, normalmente la recomendación de componente en la mayor parte de los casos es --> el correcto, el mejor, por defecto me recomienda que use un componente para leer --> lo que se llama tfileinput.json, listo, como es de lectura, sé que está de forma correcta, --> voy a darle aquí ok, mientras terminamos alguno de organizar, cuánto subyacht estarían ahí --> actualmente, a ver si de pronto exactamente dos, porque el tercer componente no está --> conectado con el de arriba, habría uno solo, vamos a hacer lo siguiente, quiero cambiar el --> formato a este señor, por ejemplo tomar json y llevarlo por ejemplo a un archivo de tipo excel, --> por ejemplo, entonces bien lo siguiente, quiero tomar este json de entrada y convertirlo en un --> archivo excel, porque te lo pillaron como formato, cuando tú vas a escribir un archivo, --> ya entenderás que el archivo tiene que ser de output, de salida, entonces puede hacer lo --> siguiente, vamos a colocar aquí un siguiente componente, vamos a colocar aquí un componente --> que se llama tfileinput, como tú lo que quieres escribir, te recomiendo que coloque --> tfileinput y mira los formatos que aparecen que puedes usar, en realidad que esta versión --> tiene pocos comparados con lo que tiene el talent studio, allá puedes tener par que lo que --> creo que se me perdió la conexión, no sé, se me perdió la conexión verdad, si me escucho, --> ok listo, entonces te decía que ahora como tú lo que quieres es escribir un archivo en un --> formato diferente, no es necesario pues que te aprendas todo eso componente de memoria, --> creo que la misma práctica te lo va a llevar y acordarte de memoria todo esos --> componentes, pero entonces como lo busco, busco entonces tfileinput y busco la salida en los --> elementos que me recomienda, aquí sería entonces tfileinput, etcétera. Procedemos entonces como --> este archivo de entrada y este archivo de salida, vamos a conectarlo, ahora vamos a --> conectarlo de una forma diferente, dale click en el componente que vas a conectar, en este --> y vamos a ver, ahí te aparece una flecha en naranja, jala esa flecha y la sueltas --> acá en el tfileinput, hay algunos que le gusta, eso es cuestión de gusto al final. --> Cambiemos entonces, aclaro que esto para iniciar, porque si nos ponemos a cambiar y hacer el --> formato estándar nos demoramos más tiempo, vamos a cambiar ese row 1 para practicarlo --> nuevamente, entonces vamos a cambiar el nombre de la línea de salida, la naranja, el row 1, --> vamos a darle entonces como sería, click en el label, nuevamente le doy click y le voy a --> colocar entonces, convierte, underscore, formato, formato, underscore, archivo. --> Vamos a hacer antes de ejecutarlo entonces lo siguiente, vamos acá donde está tfileinput --> excel, vamos a configurar ese componente salida, doble click por favor, --> bueno y aquí hay muchos elementos de configuración, pues no nos podemos detener en todos porque nos --> demoramos un poquito de más tiempo, vamos a hacer lo siguiente, vete, aquí hay una opción que --> te dice el formato 197, el formato actual, pero me interesa la opción que dice incluir header, --> vayas a donde dice incluir header, --> julealo para que conserve el header y cambia la ubicación donde quiere la salida, --> por defecto tengo nombre de archivo aquí, dale click acá al final te aparece la ruta, --> dale click para cambiar la ruta y esta ruta voy a seleccionar data set, --> bueno voy a dejarlo aquí en data set, nombre de archivo lo voy a llamar salida, --> en la carpeta lo deje en data set, no baje ninguna subcarpeta y creo que vamos a decir --> más después de problemas a abrir, es que esta versión es muy limitada, --> no lo cambia porque si no demoramos más tiempo, ahora te explico porque me toca --> cambiarlo de manera manual, aquí esa versión no me deja, deje esto, dele cancelar, den la --> ruta que está por defecto, mire la ruta que está aquí, que es la versión por defecto, --> la ubicación que tiene instalado el talento, nada más dale incluir header y vuelve a ejecutar, --> aquí cuánto subyork, mire la cuenta los subyork que tenemos, tenemos uno y hazte cuenta que cada --> subyork que estás creando te coloca un fondo azul, ese fondo azul te está indicando que los --> componentes que están unidos están en un subyork diferente, entonces por defecto aquí lo --> que haría sería ejecutar primero este subyork y después ejecutar el subyork de abajo, --> porque en esta versión se ejecutan de manera secuencial, en la versión talent --> studio puedes hacer algunos elementos interesantes para ejecutarlo de manera concorrente, vamos a --> ejecutar entonces aquí, listo, date cuenta que la misma herramienta está ofreciendo el número --> de filas que están progresado, cuánto demoró con cada fila, entonces tú a través de la --> performance para ver cuándo está demorando un job, ya lo ejecutó significa que el archivo --> me lo guardó en la ruta donde están los archivos del señor talent, que sería archivo --> de programa x86, 2ti, studio, workspace, y se me perdió la ruta apenas, se me olvidó, --> vamos a ver, sería permítame la confirmo aquí, studio workspace, listo, aquí está, --> este archivo que se llama out.xls, deberías tener en esa ruta que es archivo de programa --> x86, studio workspace, el caso Catalina no lo hagas por allá porque te hace crear un --> archivo, mejor deja donde está y después cambiamos la ruta, ejecutalo, ah ya voy, --> vamos a ver, listo, vamos a ver, ajá listo, listo, notas, todos acá para que veamos --> un error que está aquí, ese error que está produciendo netamente en java y un --> problema con un slash que tienes ahí, pero si tú quieres hacer lo siguiente, dale ok, --> hay un momento ahí, te acuerdas donde, dale ok, ok, vete donde dice, ahí te está diciendo --> que está en ese componente, verdad, pero vete donde dice co, donde dice designer, --> abajo del canvas, designer co, aquí bajito del canvas, aquí donde dice co, si alcanzas a --> ver mi mouse, le dice co, designer co, dale click ahí en ese co que está ahí por favor, --> para que veamos todos y nota que ahora del lado derecho hay un punto rojo o uno del --> pequeño el gyozito rojo, dale click ahí, dale click ahí por favor y está diciendo que --> hay un pequeño error, ese bendito error que está ahí, bueno no lo puedes modificar desde ahí, --> ahí es lo que te da, está dando ubicación exactamente donde está el error, vete nuevamente, --> si eres tan amable por favor vete a designer, dale click ahí, designer, --> dale click ahí, dale doble click en tefile output, el problema que tenemos es el separador --> del archivo, te explico a todos enseminadamente, permítame un momento y explico acá en mi --> máquina, me parece interesante que voy a ser el desarrollador entonces, pasa lo siguiente, --> esto no es de talent es de java, hay muchas cosas que son como talent depende de java, --> entonces mira, en java viene de linux normalmente, entonces java el separador por defecto que usa --> para separar entonces es este slash que llaman invertido, aquí te puedes tener la ruta talent, --> no sé qué, invertido, ahora el de windows por defecto no es ese invertido sino ese slash, --> bueno no sé, de manera normal no sé, uno llaman slash y backslash, pero entonces para --> poder usar este de windows me toca hacer lo siguiente, me toca coger doble, o sea esto --> mismo lo puedo hacer con este slash pero colocándole doble slash, porque el problema --> es netamente ella, entonces vamos a tu caso en particular, y voy a tu máquina un momento --> que es catalina, no sé, dale doble click, ¿cómo lo quieres solucionar? o quieres usar --> slash o backslash, me parece más rápido backslash, saca slash por el shift 7 que tienes --> o le agregas uno de esos mismo igual a cada uno que tienes para que sacan dos, --> vete a primer slash, exactamente ahí, si quieres le agregas uno igual a ese o cambias --> por slash al revés, el a al revés sería shift 7, borra, no sé cómo quiere hacerlo, --> a 4c, bueno control b, listo, vete allá, estuden, le agrégale control b, allá control b, control --> b, control b, a la pregunta que muchos están haciendo, pues es mala práctica usar rutas --> absolutas, ya cuando estamos hablando de gran variables, los contextos, ahí sí vamos a usar --> un poco más de rutas relativas, dele guardar por favor, guardar, allá en el disquecito que está en la --> barra, acá revita, en la barra, barra, revita del menú archivo dele guardar, para que tenga los --> cambios, allá al principio, la barra, la barra del lado derecho, no sé si le voy a guardar ya, --> ah ya, pero fíjese lo siguiente y muy importante, nota que en el canvas que tiene, --> en el canvas que tiene, permítanme yo lo muestro en mi pantalla, miren lo siguiente, --> el canvas, este canvas que está acá, note que cuando yo hago un pequeño cambio, cualquiera que --> yo hago acá, uno, note que acá el canvas me apareció un símbolo, un símbolo que es un --> asterisco, verdad, ese asterisco me está indicando en que ese job no ha sido guardado, --> entonces si te lo doy aquí en el disque, o ya me guardo automáticamente porque tengo el --> autosave, pero si usted quiere vayase aquí a donde dice el disque y lo guarda, cuando --> da aquí, si usted quiere vayas nuevamente a COW, y ahora si está corregido no debe aparecer el --> punto rojo, que se cuenta que no aparece, listo, vayase a designer nuevamente, --> vayase a designer nuevamente, y vuelva y ejecute por favor, bien ahí por la teoría que hemos --> visto, primero ejecuta el primer sub job, el primer sub job lo que hace es que ejecutó --> 25 filas, leyó 25 filas, en un tiempo de 0.03 segundos, y el otro leyó 235 --> filas, perdón, y las guardo en un archivo llamado OUTS, en 1.16 segundos, bueno, listo, --> perfecto, listo, entonces vamos a crear, entonces para practicar, cerremos este job, --> por favor, cerremos este job, y procedamos a crear uno simplemente para practicar, --> entonces voy a decir aquí AXA, clic derecho, crear nuevo job, y lo voy a llamar job conexión --> on the record base datos, no le voy a agregar a propósito ni descripción para hacer un acelerado --> un poco más el proceso, ya saben que por recomendación le agrego el propósito y la --> descripción, se le va a llamar job on the record conexión on the record base on the record --> datos, job conexión base datos, un momentito que se me partió la ventana de los, --> listo, permítame que esta ventana se me fue una ventana para este lado, --> que es la que estaba revisando lo que estaba haciendo usted, entonces este job es mío, --> listo, voy a duplicar este señor acá, que pena que me tome, listo, vamos a dar aquí finish, --> bueno, vamos entonces, ahora nos piden hacer una conexión a una fuente de datos que está en una --> tabla que pertenece a una base de datos, vamos con lo siguiente aquí, vamos aquí donde --> dice tv connection, porque la conexión que voy a hacer de la metadata es de base de datos, --> voy a darle click y voy a decirle aquí crear conexión, --> te aparece y te va a aparecer exactamente el mismo menú que te aparece prácticamente a --> nivel de crear job o cualquier componente o niñez de propósito, la descripción, etcétera, --> y hicimos crear conexión de base de datos, listo, espero que algunos se conecten todavía, --> conexión de base de datos, en metadata se va a tv connection, click derecho y le da a --> crear conexión, en metadata, primero creamos un job, espero que algunos entonces, ya toda --> la mayoría estamos en esta parte, el caso de José, vamos a crear, cierra esos jobs, --> si tú quieres José, creamos uno nuevo y vamos a crear una nueva conexión a base de datos, --> vete a metadata José, click derecho en tv connection, --> listo, en este caso pues ya tú entenderás que ya tú sabrás las fuentes, porque vuelvo, --> repito, como decía en la pared teórica, cuando tú haces un proyecto de integración de datos, --> cuando tú tienes conexión a las fuentes de datos como tal, en este caso pues tú tienes --> conexión, sabrás cómo se llama, vamos a conectarnos entonces a una base de datos que --> se llama Chinook, entonces el nombre que le voy a poner es Chinook con W, Chinook y por --> experiencia en esta parte hay veces que tengo una base de datos que está en MySQL, una en --> Oracle, una en Progress, a veces las bases de datos pueden que se llamen iguales, a veces --> me pega una confusión y lo que yo he adaptado por estándar, es que cada vez que le doy un --> nombre a la conexión de esa base de datos, le especifico dentro de paréntesis el motor en --> que está, a veces me ayuda mucho porque me hace perder menos tiempo en saber en qué motor estoy --> conectado, entonces aquí lo voy a colocar por estándar, esto es estándar mío, le coloco --> entonces MySQL, vamos a darle aquí Next, y aquí en Next hacemos los parámetros de configuración --> hacia la base de datos, entonces dentro de esos parámetros de configuración tenemos lo --> siguiente entonces, primero como recuerden esto es Java, entonces vamos a definir el driver de --> conexión hacia el motor con el cual me voy a conectar, en este caso el motor es MySQL, --> voy a buscar el driver de conexión que me conecta con MySQL, vamos aquí donde dice de --> betay, dale click aquí y vaya entonces y busque la base de motor que se llama MySQL, --> MySQL, aquí viene una pregunta que es obligada que seguramente muchos empezarán, --> ¿qué pasaría si no existe el driver de configuración? Bueno si el driver de configuración --> el problema claro no sería de talent sino netamente de Java, el problema no sería de --> talent si el driver no existe, es de Java en caso que no exista.