9:39
2024-05-29 10:14:10
4:49
2024-05-29 10:29:56
5:42
2024-05-29 10:36:28
2:45
2024-05-29 10:43:46
1:00:16
2024-05-29 10:48:22
3:26
2024-05-29 12:18:04
5:22
2024-05-29 12:24:11
1:43
2024-05-29 12:33:10
55:30
2024-05-29 12:36:17
47:02
2024-05-29 14:57:58
2:18:28
2024-05-30 09:31:42
32:39
2024-05-30 13:09:57
24:21
2024-05-30 15:06:50
18:09
2024-05-30 15:44:33
3:56:30
2024-05-31 09:51:34
4:23:53
2024-06-05 09:12:19
28:23
2024-06-06 10:52:48
12:29
2024-06-06 11:32:59
3:47
2024-06-06 11:48:14
1:36
2024-06-06 12:03:40
54:36
2024-06-06 12:09:30
1:24:03
2024-06-06 13:32:03
13:43
2024-06-06 15:42:24
18:06
2024-06-07 09:07:48
9:43
2024-06-07 09:33:41
2:49:27
2024-06-07 09:49:42
3:47
2024-06-11 09:19:48
5:51
2024-06-11 09:25:13
1:53
2024-06-11 10:21:33
7:58
2024-06-11 10:26:29
2:48
2024-06-11 13:27:27
43:31
2024-06-11 13:50:56
2:46:00
2024-06-12 09:14:49
20:20
2024-06-12 13:22:18
29:54
2024-06-12 15:00:28
WEBVTT--> ¿Verdad? Listo, sí, exactamente entonces. Ahora, aquí si deseas configuras el número --> de filas salientes, esto son pruebas de estrés, aquí colocarás un millón, diez millones --> lo que tú quieras para hacer la prueba de estrés. Y al final, si todo no te aparece, --> te debo quitar aquí el símbolo del warning, dale clic en ejecutar para ver si te ejecuta --> porque no estoy viendo tu máquina. Perfecto, listo. Ahora, y en el Tello Role, si después --> quieres cambiar la forma de presentación, le das ahí escuela que más te guste. Perfecto, --> si quieres seguimos entonces ya practicamos un poco más con el segundo yoke. El segundo --> yoke que hicimos fue de lectura de metadatas. Ok, entonces vamos a crear, si usted quiere --> cierra este señor para evitar problemas con que a veces me ejecuta el anterior, voy --> a cerrar este yoke que no lo voy a usar más. Y ahora lo que voy a hacer es que --> ahora en la carpeta que elegí, clic derecho, crear yoke. Vamos entonces, este yoke se --> llama metadata. El propósito del yoke, pues conectar a diferentes fuentes de datos. Si --> quiere, muévelo, simplemente para comenzarlo, pero no, no hay problema. Si lo vas a mover, --> tienes que cerrarlo del canvas y lo intentas mover para ver. Cierra, cierra porque --> si no lo bloquea. Arrastralo para ver, debería ser, casi no, si le deja, perfecto. Listo, --> perfecto, sigamos entonces. Creamos el nuevo yoke entonces, le damos aquí finish. Y --> la primera fuente de conexión va a ser hacia un archivo de tipo CSV, que es el --> archivo más usado para intercambio de datos entre diferentes empresas o lo que tú quieras, --> porque al final puedo hacer lo que yo quiera con un CSV. Listo, vaya a hacer la sección de --> metadata y lo primero que tienes que tener en cuenta cuando vas a definir una metadata es --> saber qué tipo de archivo es el que voy a leer. En este caso el archivo al ser CSV, --> los archivos CSV se leen en la revienta como archivos delimitados. Busca la sección que --> y en ese file delimited por favor dale clic derecho y le vas a decir que vas a crear, --> bueno si quieres creas un folder para que te organizes internamente ahí, --> pero para ser un poco más rápido vamos a generar directamente entonces un archivo delimitado. --> En esta sección no puedes, las rutas tienen que ser absolutas, no puedes definir rutas --> relativas o usar contextos. Los contextos lo usas cuando usas este elemento dentro de un job. --> Entonces el nombre lo vamos a llamar géneros, particularmente pues yo lo voy a llamar géneros --> 1 porque ya tenía un géneros. Propósito, conectar a la fuente de datos de los géneros --> música. Ya recordará que esto es ya pues aquí en un poco más académico pero ya en un ambiente --> más de proyectos reales pues tendría que darle un contexto diferente al propósito de descripción, --> muy importante para poder hacer depuración y recordar qué hace cada job. Listo, le damos --> entonces, dígame, ah listo, ahí uso un componente diferente, ahí no podría hacerlo de esta forma, --> me tocaría, es una interesante pregunta que esa parte de S3 la voy a hacer con Big Data, --> entonces, pero le adelanto un poco, me tocaría coger un componente llamado TS3 Connection y --> me conecto al S3 y saco los archivos de ese componente, pero no lo podía hacer con --> metadata de este lado. Sí, exactamente, exactamente, al final me tocaría, no podía hacerlo de esta --> forma, me tocaría hacerlo entonces con un componente ya de la tal de componentes llamado --> TS3 Connection, pero eso lo vamos a hacer para la parte de Big Data, para tenerlo presente --> ahí, que seguramente lo va a usar mucho para conectarse por ejemplo a su repositorio que --> tenga en Azure, que creo que usted tiene muchas cosas en Azure, pero bueno, al final --> no se podría hacer de este lado, de esta manera, esta manera estática, pues digamos eso. Ah, --> también entonces, podía hacer un componente TS3 Connection y se conecta ya, no hay problema, --> pero de esta manera estática no podría. Listo, entonces sigamos, vamos a lo siguiente, --> vamos a, vaya a donde dice Browse, y por defecto en la carpeta, en el desktop, --> en el escritorio de su equipo, va a encontrar una carpeta que se llama Datacert. --> Datacert, CSV, y entre la carpeta CSV, y escoja el que se llama Genre CSV, por favor. --> Debe tener en cuenta en que por defecto el filta por CSV, pero quizás usted tenga un punto --> CSV con extensión TXT, al final la herramienta le permite leer el archivo siempre y cuando --> esté en el formato, no le importa la extensión, aquí es porque por defecto el explorador de --> archivos tiene un filtro para el CSV. Dele Open aquí y le había dicho, dígame, no podría serlo --> igual, no hay ningún problema, no hay ningún problema, no hay ningún problema, buena --> pregunta, no hay ningún problema. Este formato que está aquí le decía que algunos sistemas --> operativos diferencian el carácter de separación, de tabulación y de salto de línea, pero en el --> mismo carácter es para salto de línea y tabulación. La única diferencia puede ser con más, --> significa en que si coloco formato Unix y formato Windows, me va a funcionar para este --> caso en particular. Listo, dele aquí entonces este preview que está aquí, recordará que --> aquí lo que va a guardar son metadata y aquí lo que le va a mostrar, esto no se guarda en --> ninguna parte, simplemente para que usted vea por lo menos ahí 50 archivos como tal, --> que está la configuración. Dela aquí, Next por favor, y aquí sí viene la configuración de --> este archivo. Next por favor. Primero que les dije, el encoding. Partiendo de que el idioma --> que tiene sus datos, su base de datos, sus archivos en español, lo que te recomiendo es --> que uses UTF-8. No te recomiendo que uses ASCII, ya si es inglés te recomiendo un ISO, --> o en su efecto un ANSI, pero en este caso si vas a guardar elemento en español ve a la asegura --> y escoge entonces como elemento de codificación UTF-8. Eso te va a asegurar que las tildes y --> las señas que son propias de nuestro idioma, no vas a tener problemas con ellas. Ahora viene --> el carácter de separación. Este carácter de separación viene en unos por defecto, --> que son punto y coma, coma, tabulación. Por ejemplo, si usted quiere Pipe y este Pipe no --> aparece aquí, entonces haz lo siguiente. Escoge, como usaste UTF-8K, escoge Custom UTF-8. No la --> gusta ya porque al fin y al cabo este es un poco diferente. No tiene el carácter escomas, --> pero si ya es algo diferente te vas a Custom y aquí colocas el carácter que tú quieras, --> puede ser desde un Pipe, un Arroba, lo que tú quieras. Pero como el carácter que tengo, --> pues me queda más fácil, está separado por coma, le voy a decir, oye, sepárate por coma. --> Pero si el carácter no aparece en ese combo vos, escoge la usión Custom. Aquí tienes --> el row separator que al fin y al cabo está haciendo Slash N, que es el carácter de --> tabulación por defecto que tiene 11 Units y usa Windows, o sea que eso no lo muevo. --> Y esta parte, ojo a lo siguiente, esta parte lo vas a mover siempre y cuando tengas encerrado --> en, tengas encerrado una columna entre comillas simple o entre comillas doble. --> Esto te lo había mostrado, pero te recuerdo esta parte. Mira lo siguiente. Yo tengo --> esta parte, tengo por ejemplo, te muestro de este lado, un momento ya va. Tú tienes lo --> siguiente. Tienes identificador y tienes nombre. Uno y tienes, por ejemplo, el nombre. --> Yo, coma, me llamo, yo, coma, me llamo. Tienes por acá un dos que de pronto lo tienes acá, --> como Juan. Entonces, si tienes columnas que están encerradas entre comillas dobles, --> comillas simple, tienes que hacer la configuración esta que está aquí. ¿Cuál configuración? --> Cambiar esta configuración que tengo, perdón, aquí. Decirle CSV y le dice el carácter de --> separación, perdón, que está encerrado. ¿Por qué? Porque si eso no lo haces y lo --> dejas delimited, esta primera columna que está aquí, cuando la vaya a leer, va a leer --> tres columnas. Aquí te leería tres columnas. La primera columna que sería el uno, la --> segunda columna que sería comillas, yo, coma, y la tercera columna que sería un me llamo. --> Así, me llamo. Entonces, eso es para que lo tengas en cuenta. Simplemente cuando --> tengas CSV que tenga una columna que está encerrada con un carácter, ya sea carácter --> simple o comilla doble, el que tú quieras. Para este caso es muy imparticular. Este archivo no --> tiene esa configuración, por lo tanto, carece sentido que la haga. Ahora, si la columna, --> si el archivo tiene encabezado, puedes configurarlo aquí directamente, le das click aquí. Y para ver --> la configuración de todo lo que has hecho, dale refresh preview y debería mostrar el --> archivo correctamente. Listo, buena pregunta. Aquí lo haría con el custom y podría hacer --> lo siguiente, arroba, colocas lo que tú quieras acá, arroba, pipe, lo que tú quieras aquí. --> O sea, aquí colocas los caracteres de separación que tú desees, pero tendría que hacerlo como --> custom. Y este custom, si tienes UTF-8 acá, usa UTF-8 acá por algún problema que puedas tener. --> De pronto algún carácter especial ahí raro o extraño. Pero bueno, si, --> efectivamente lo puedes hacer. Entonces aquí dejo la coma que estaba anteriormente. Y por defecto --> se cuenta que cuando configura un encabezado, él toma por referencia que el encabezado va a --> ser la primera fila. Si tu encabezado es la segunda, tercera, cuarta fila, entonces cambias --> al número que tú quieres. Ya lo demás son configuración si va a tener un footer y segundo --> si vas a tener en cuenta las filas que están vacías, que de pronto te pueden causar --> un error. Y por último, que es muy raro si es a nivel de producción, pero si a nivel de testing, --> es que tú chulees esta parte del límite y especifices cuántas columnas máximas deseas --> sacar de esa entrada. Si coloco 5, solamente en otra 5 de las 50 que están ahí. Entonces, --> esta parte no la tengas en cuenta, simplemente si en algún momento te toca configurar para --> testing, pues lo podrías hacer. Aunque te recomendaría que lo hicieras en otra parte, --> ya te digo dónde. Listo, entonces aquí le damos Next. Aquí te da la configuración --> final del metadata. Aquí lo recomendable sería el tipo de datos, pues dependiendo --> de lo que vayas a hacer, lo puedes cambiar aquí a lo que tú quieras. Si deseas, --> puedes cambiar por ejemplo los nombres de encabezados de tu metadata, cambiar --> este Genre ID por ejemplo a Identificador en español y el Name lo cambias entonces a nombre --> en español, si es lo que deseas. Si das cuenta, este menú se parece mucho al de Role Generator. --> Aquí puedes cambiar el orden de las columnas, pero si cambias el orden de las columnas, --> la referencia la tienes por posición. Es decir, no lo hagas allá. Si yo cambio este --> Name, no significa que él me va a cambiar, va a asociar el Name que entra con el nombre --> está acá. Él asocia que la primera columna va a llamar nombre. Entonces no es recomendable --> que le cambies acá la estructura como está porque él lo toma a cada columna por posición. --> Si podías agregar elementos y eliminar si tú quieres, ya eso depende de tu configuración, --> pero para esta parte inicial dejémoslo entonces nada más en el cambio de columnas --> en el mismo orden en que están. Aquí le doy Finish y te debe aparecer entonces el --> metadata generado aquí en File delimited. Podrías ver esa estructura expandiendo la --> configuración que acabas de hacer. Ahí puedes ver la estructura. Estos metadatos para --> adelantarme son lo que llaman metadatos de operación, que lo que definen es a --> Para usar esto entonces ¿cómo hacemos? Muy parecido a como hice con los componentes. --> Selecciona el archivo que quieres utilizar de metadata, le das click y ahora click sostenido, --> lo sueltas en el canvas y te van a aparecer n opciones de componentes para eso. Por defecto, --> la primera elemento que toma él es en la mayor parte de los casos el componente --> es más indicado para que lo escojas. Por defecto me aparece de File Input delimited, --> le doy entonces aquí OK. Todos los componentes de talent te permiten configurarlo. Si das --> doble click aquí en géneros, entras a la pestaña de configuración del componente, --> doble click. Aquí hay muchos elementos. Esta configuración viene de la configuración que --> hiciste en el metadata y analiza que aquí nuevamente tienes un hidre que lo puedes --> cambiar acá, un footer que lo puedes cambiar acá y también tienes un limit. Decir que si --> lo hago a nivel de este archivo, solamente se aplica para este job, pero no se aplica --> para el metadata. Esta sería una configuración particular y esta sería la configuración general. --> Dejemos el limit quieto por el momento y lo podemos usar más adelante. Vamos a mostrar --> entonces el contenido. Para este contenido vamos a agregar un componente que va a usar mucho --> para poder hacer entonces tus depuraciones que se llama el Telorow. Ya entonces empiezas a --> Y ahora conectas la entrada de la forma en que más te gustó a ti. La entrada con la salida. --> Yo particularmente no sé por qué me gusta más con el click. Click derecho en el centro del --> componente, le doy row, escojo main y después te explico los demás elementos y conecto --> entonces lo suelto en todo el centro del telorow. Listo, perfecto. Lo hago nuevamente. --> Vaya forma de hacerlo. Una forma es que lo busques en el canva. Aquí en cualquier posición del --> canva escribes T-LOCK y te va a aparecer T-LOCK y dale click si te apareció el telorow. --> Bueno, doble click, perdón, doble click. Si te apareció, listo, perfecto. Acto seguido --> Por favor entonces conecta la entrada con el telorow. Para conectarlo tiene varias formas. --> O le das click en el centro y escoge la flechita naranja y la sueltas acá. O en su defecto le --> da click derecho en el centro, escoge row y hace una conexión principal y la sueltas en --> el centro del telorow. Ahí puedes tenerlo, si te queda más o menos así que puede suceder. --> Aquí puedes tener un problema de error de refresco de la interfaz a veces, pasa. Es decir, --> más o menos tú me dices lo siguiente, main y lo sueltas, no allá, suelta aquí. Sí, más o menos la idea, ¿verdad? --> Sí, me escuchas. Bueno, aquí tiene varias formas. O tú lo haces en un telorow nuevo o te --> queda esa flechita ahí que no hace nada, entonces le das escape. Si la flecha te queda --> aquí que te puede quedar, una flecha y dice, pero esa flecha no conecta con nadie, es un problema --> de actualización de la UI del canvas, esa que tienes ahí. Entonces si la flecha te queda sin --> conexión, lo más recomendable es que haga la típica del ingeniero. Cierres el job y lo --> vuelvas a abrir y ya esa flecha que estaba suelta no te aparece. Esto es un problema --> de actualización de la interfaz gráfica. Listo, era este, perdón, era este de acá. --> Entonces al final quito aquí, row, main y lo suelto acá. Y ahora, ya esto por defecto, --> la entrada de aquí debería corresponder con la entrada de esta señora, perdón, --> la salida aquí debería corresponder con la entrada de esta señora. Si quieres, --> ve a telorow y vas aquí a editar esquema y vas a ver entonces que la salida que sale --> del test file, del test file del limited, corresponde con la entrada del telorow. Ya --> esto por costumbre, ya eso te va a funcionar perfectamente, ya yo creo que no siempre hay --> que revisar eso, hay que revisarlo si hay un error, pero es para que tengas en cuenta --> cómo es el modelo de entrada y salida que tiene. Ya esto lo vamos a ver ya simplemente --> cuando tengamos un error. Entonces ya esto lo vi y procedo entonces a la ejecución. --> Y debería aparecer entonces los datos que están contenidos, en este caso en el archivo --> csv. Varias formas de hacerlo, la primera forma y la más fácil, --> siempre ahí de arriba exactamente, el verdecito. Y eso no sé si los datos o la forma. --> Ok, interesante, vamos a ver si de quizás, ¿Quién me habla para revisar? Interesante. --> Vamos a ver Mauricio entonces, interesante, vamos a ver qué pasó. --> Ah, no, ahí tienes dos columnas, date cuenta que el separador es un pipe. --> Haz lo siguiente, vete a tu telorow para cambiar la vista, --> vete a tu telorow, por favor, dale doble clic en el centro, --> en el telorow, dale doble clic. Mira que el carácter de separación de campos, --> ahí está, separador de campo, un pipe, ¿Verdad? Cambia, no, cambia mejor, --> de básico a table, lo tienes en la parte de arriba, a table. Y ejecuta nuevamente para ver. --> Ah, se nos olvidó una configuración que tenía. Qué bien que me haya acordado. --> Ahí tienes, lo que hace es que de pronto la forma en que se ve eso. --> Que venga, aquí se me olvidó una configuración, aunque no hay que --> reiniciar afortunadamente, que es el autosafe. Aclaro, que cuando tú haces un cambio y --> ejecutas el jockel, se guarda. Pero quizás todavía no ha ejecutado el jockel, --> entonces para evitar algún problema de energía o algún otro estilo, --> si me había escapado, vete a la ventana, nuevamente, preferencias, --> la pronunciión de Mauricio. Vete a windows, ventana, preferencias y --> escribe la palabra autosafe. Te va a aparecer algo ahí, autosafe, dale click en autosafe. --> Habilitas, le das click al combo para habilitar la configuración personalizada y cambias el 20 --> a 5, significa que cada 5 segundos va a guardar el jockel. No, en realidad no. --> El tiempo de respuesta para eso no. Este tiene 5 segundos. Si tú usas un ID tipo Visual Studio, --> Visual Studio se guarda cada vez que tú das una tecla. Cada vez que tú tecleas, --> se guarda automáticamente. El tiempo de respuesta, digamos, para afectar eso, --> tiene que ser un archivo muy, muy, muy grande y creo que un jocke no te --> va a generar tanto ese código tampoco tan grande. Bueno, y acabemos. Afectaría --> solamente en el diseño, en la ejecución del jocke, pues no afecta para nada. Listo, --> entonces, bueno, organiza tu jocke aquí, listo. Ahora, esto sí es vital que hagas --> documentación a nivel de qué es lo que hace cada componente de tu jocke. Y si te das cuenta, --> la flecha de conexión te aparece por defecto ROG1, ¿cierto? Esa es la defecto. Entonces, --> las flechas se van a llamar ROG1, ROG2 y eso de pronto no es tan diciente cuando tienes --> un proyecto. Para cambiar entonces el nombre de esa flecha y darle algo para que entiendan --> el flujo del proceso, ¿cómo se cambia ese nombre? Le das click en en ROG1, primero. Primero --> click en ROG1, donde es el nombre que quiero cambiar, click para seleccionar y después --> le das otra vez click para cambiar. No es doble click seguido, un click y después otro click. --> Y le llamo aquí entonces, aquí voy a colocar mostrar, no acepta espacio en blanco, --> voy a colocar mostrar on the record, géneros, enter y te debería cambiar el nombre. Ya no --> aparecería como ROG1, sino te debería aparecer como mostrar géneros. Entonces, de esa manera, --> tú puedes documentar un poco qué es lo que se hace en cada etapa de tu jocke. Entonces, --> nuevamente, se llamaba ROG1, ¿verdad? Dale click en ROG1, por favor. Primero click para --> seleccionar, click para seleccionar, un click. Después le das otra vez click para modificar. --> Y ahora, pues puedes borrar ahí y colocarle el nombre que tú deseas, mostrar, on the record, --> géneros. Nuevamente, y eso, dale click en ROG1, click, ROG1, click para seleccionarlo, --> después dale re-click. Otra vez click, listo, ahora sí, modifica ahí, borra y modifica --> el nombre que tú quieras. Si tú deseas, pues puedes documentar, otra forma de documentar --> entonces es que agregues notas. Vete a la paleta, por favor, o si deseas donde más te guste, --> o si quieres busca aquí la note en inglés, enter ahí. Y aquí puedes agregar, bueno, aquí --> le cambias el tamaño, muchas cosas aquí. El tamaño no me dejo aquí, bueno. Aquí cambias --> el texto, doble click, aquí click y nuevamente click. Y el texto aquí, por ejemplo, ejemplo --> metadata, metadata. Entonces puedes colocar notas, amplias aquí que no me dejó. Aquí --> no me está dejando cambiar, qué raro. No le agarro la puntita esta de la puntita. Aquí tendría --> que ampliarlo más, pero debería dejarlo aquí. Bueno, aquí me dejó. Bueno, ya me dejó, ya. --> Si a ese le das doble click, recuerda, para configurar cualquier componente en tal, le das --> doble click y te va a aparecer, bueno, no, este no, este le das el setting mejor porque --> parece, no sé, no me coge. Click derecho, setting. Y aquí puedes cambiar el tipo de letra, --> el color de fondo, etcétera, etcétera, etcétera. Aquí le va a cambiar este color --> de fondo, no sea un color verde aquí. Aquí opaco, opacidad, le cambio el color. --> Bueno, ya hay cambias. Bueno, eso es más que todo para poder documentar un poco más, --> tener algunos textos, algunos comentarios que tú quieras con respecto al yo. Sigamos, --> seguimos o hay dudas hasta el momento. Seguimos o espero un momento cualquier duda --> que tenga. Sigamos entonces con el siguiente ejemplo. Vamos a leer ahora un JSON. Entonces, --> listo. Entonces, lo primero, ya tú tienes que saber qué tipo de archivo es el que vas --> a leer. Como el archivo es un JSON, entonces busco para ver si existe en el metadata para --> poder leer un JSON. En este caso tengo entonces, no dice file JSON. Click derecho, se aplica --> lo mismo, create JSON. Este se va a llamar artistas. Yo voy a llamarlo uno porque --> ya tenía el que había creado el día de ayer. El propósito es conectar a la fuente --> de datos de artistas musicales. Y cuando tengas un JSON, un XML, la interfaz es --> muy parecida. Te va a preguntar si eso va a ser de entrada o de salida. De salida significa --> que vas a escribir en ese metadata. En este caso, esta entrada. Por lo tanto, la opción --> por defecto está en input. Lo dejo. Le doy aquí en next. Y aquí vuelve lo que le comentaba. --> Aquí hay dos lenguajes para leer el JSON. O tú lo haces con un lenguaje donde dice read by, --> o lo haces con un XPAT o lo haces con JSONPAT. Entonces, estas consultas no dependen de talent. --> Dependen netamente del lenguaje de consulta. Por recomendación, si es JSON, usa JSONPAT. --> Y si es XML, usa XPAT. Entonces dejamos por defecto JSONPAT. Ahora, buscamos, --> así como hicimos con el CSV, la ruta donde tengo el archivo. Voy aquí donde dice browse. --> Dataset. Existe una subcarpeta que se llama JSON. Y ahí escojo artistas.json. Y te aparece --> entonces, primero, la estructura de JSONPAT. Ese símbolo que aparece ahí, que es como si --> fuese un peso, significa que es el root. El root del JSON. Ese es el carácter por defecto --> que se usa JSONPAT. Y acto seguido te va a mostrar la estructura que tiene ese JSON. --> Si te das cuenta, en la estructura de JSON está diciendo, oye, hay un ítem que se llama data, --> pero ese data es un array. ¿Cómo sé que es un array? Porque me aparece entonces, --> me aparece el corchete, asterisco, cierra corchete. Y dentro de ese JSON array, --> cada ítem que tiene ese JSON array, vas a tener entonces dos columnas. Una que se llama --> artista y una que se llama nombre. Listo. Ahí te está mostrando la estructura. Dale next. --> Aquí mira lo siguiente. Aquí tienes que hacer una configuración que es exactamente igual en --> el XML, siendo que el lenguaje de consulta ya, por defecto, es XPAT. Tienes que definir el --> absoluto PAT de dónde vas a tomar la configuración de los datos. No lo hago usted, --> visualice nuevamente este ejemplo. Si yo uso que el PAT va a ser el root completo, --> el símbolo pesos, y suelto el data como archivo que voy a leer, significa que al final no me va, --> me va a sacar los datos como si fuese un string, partiendo del hecho en que eso es un array. --> Si doy aquí en refresh view, preview, perdón, ¿qué me va a hacer? Que ese array me lo va a --> tomar como si fuese un string y no te va a iterar. O sea, no te va a sacar los datos. --> Mira, aquí está el string. Esta fue la pregunta que me hizo alguien ayer con el tema. ¿Qué sentido --> tenía que ser un while en el tema? Entonces dice, de pronto tú tienes un dato en que te viene de --> esta forma, entonces ¿qué pasa? Tú lo puedes leer como si fuese un JSON en Java y lo iteras --> con un para. Entonces ahí no lo podía hacer. En ese caso, digamos, bueno, en ese caso tendría --> sentido usar un para. Bueno, pero entonces ¿cómo sería? Como yo quiero solo leer todos los --> ítems que están dentro del array, ahora mi absolute path va a ser el array. Entonces lo suelto --> aquí el array. Y ahora voy a borrar aquí con X. Voy a decir qué columnas quiero sacar de ese --> array. Entonces voy a sacar las dos columnas y la suelto de este lado. Y por favor le das --> un refresh preview. Oh, que esto que está aquí no tiene nada que ver con el talent, ni siquiera --> con Java, porque este es simplemente el lenguaje JSONPAC y XPAC. Listo, entonces dele por favor --> entonces en next. Aquí te aparece entonces, ahora sí, después que haces el next, te aparecen --> los metadatos que serían dos columnas, artist ID y name. Ya sabes que esto lo hicimos con el --> ejemplo pasado. Puedo cambiar el nombre, agregar elementos, pero para ser un poco más rápido --> dejemos los nombres que están por defecto y démosle finish entonces. Sigamos entonces. --> Ahora pues vamos a usar como entrada, vamos a leer los datos de ese JSON. Entonces voy por --> aquí, tomo como elemento lo que agregué ahora el archivo, lo selecciono y suelto de este lado. --> Como en cualquier herramienta DTL, independiente de la entrada, cuando todos están en el --> canvas del workflow, del job o del pipeline, todos se tratan igual. Significa que puedo usar --> cualquier componente para independiente de la entrada. Listo, vamos a hacer lo siguiente ahora. --> Muchas veces toca hacer filtros, entonces vamos a filtrar columnas. Para filtrar columnas lo --> podemos hacer de dos formas, o con un Te filter column o con un Te map. Vamos a usar --> el Te filter column simplemente para probar y practicar un poco más. Agrega, dígame, --> sí señor, sí señor, sí señor, es de input, es de input, sí señor. Listo, perfecto, --> gracias. Agrega un componente de tipo Te filter y escoge en este caso Te filter column. --> Y qué pena porque el día de ayer prácticamente lo perdimos, vamos a filtrar las filas entonces. --> Por favor, agrega otro componente que se llama Te filter row. --> Y vamos a visualizar y comprobar con un Te log row. El Te log row simplemente es para depurar. --> Normalmente tú lo llevas hacia una base de datos, llevas hacia un archivo XML, --> el que tú quieras. Dígame, es input. ¿Quién me habló? Vamos a ver que hay algunos que no estoy --> viendo Gerardo aquí en esta, me va a tocar hacerlo acá Gerardo, vamos a ver. Voy a hacerlo --> aquí desde cero momentos Gerardo para que te dé la cuenta. Tomate el artista verdad y lo sueltas de --> este lado. Listo, en este caso en la mayor parte de las veces él sabe cuál es el componente --> indicado. En este caso el componente indicado es el que está por defecto, Te file input --> te doy click aquí y te aparece acá. ¿Vas conmigo? Vamos a agregar entonces dos componentes más. --> Un Te filter column, entonces aquí escribes Te filter column y lo agregas. Agregas un Te filter row --> y terminas con un Te log row. --> Si deseas, puedes cambiar, perdón, qué pena que te interrumpí. ¿Qué me agites? --> Así, hasta ahí, hasta ahí, eso. Si ese app cambia el nombre de los componentes, --> aquí Te filter column 1, de la misma forma, le das click al label, nuevamente click y te --> va a aparecer y te va a colocar aquí en español. Filtrador columnas. Si deseas cambiar, --> entonces eso te puede dar mucha más documentación, entender entonces el flujo y esas cosas. --> Como mejor práctica, desde mi experiencia en desarrollo de TLS, tanto de integración de --> datos como BUS SD, creo que es mejor que antes de hacer todas las conexiones, --> si tienes la posibilidad de saber todos los componentes que vayas a agregar, --> entonces le agregas primero los componentes y después los unes. ¿Eso por qué? Porque cuando --> lo empiezas a unir, te puedes dar cuenta que te pudo faltar uno o de pronto la configuración --> en el orden lo empiezas a cambiar. Es como mejor práctica, no significa que lo debas hacer --> siempre así. Si tienes claro los componentes para resolver tu problema, la mejor es agregar --> todos los componentes y después los uno. Porque en esa unión te puedes dar cuenta que --> pudo haber algo que pudiste agregar, un paso anterior, mejorar la eficiencia, etcétera, etcétera. --> Listo, entonces ahora vamos a poder unir todos los elementos. Voy a unir el artista con el --> te filtrado de columnas. Voy a unir entonces el te filter column con el te filter row --> y el te filter row lo uno con el telor row. Como dato curioso de la herramienta, --> nota que hay una flecha de color verde que es la última que une el te filter row con --> telor row. Cambia de naranja a verde. Ese verde indica que es cuando se cumple una --> condición. El verde está indicando que ese componente puede sacar los que cumplen la --> condición y los que no cumplen la condición cuando está de color verde. Espero para que --> hagan las diferentes uniones entonces. A ver, lo que está diciendo es que en la entrada artista --> hay una modificación de las columnas y de esas columnas va a haber un filtrado de las --> filas que voy a mostrar. Y al final muestro con el telor row. Listo, sigo entonces. --> Ajá, el telor row es para depurar. Al final puede irte hacia una tabla, --> una base de datos y puede irte hacia que crea un archivo nuevo. En este caso porque --> estamos depurando. Pero ya en un proyecto real seguramente lo vas a mandar a algo, --> a un data warehouse, data lake, donde tu quieras. Listo, entonces hagamos la configuración del --> te filter column. Entonces, dele doble clic y esta configuración es sencilla. Entonces, --> edita el esquema y solamente en la salida especifica las columnas que tu quieras. --> En este caso deseo nada más sacar name. Como hago? Bueno, diferente forma. Una forma es que --> selecione nada más aquí y le de con esta flechita acá. Y ahí vas a colocar en la salida las --> columnas que tu quieres nada más filtrar. Espero un momento a Liliana que estoy esperando --> conectar. Listo, Liliana por favor ahora vea el te filter column, o sea el segundo elemento --> y dale doble clic para configurar. Aquí para la configuración dale clic en editar esquema, --> clic en el botoncito editar esquema que está en la parte de abajo. Y acá en la salida solamente --> vas a especificar las columnas que quieres que muestre. Entonces, en este caso como nada --> vamos a sacar name, selecciona name y le das clic en la flechita de arriba. Y ahí hice el --> filtrado de columnas. Demos entonces aquí ok y configuremos. Aquí me pregunta si deseo --> propagar los cambios. Sí, efectivamente. Y acá en el te filter row vamos a configurarlo. --> Dele doble clic por favor en el te filter row. Vamos a configurar el te filter row. De doble --> clic en te filter row. Ya configuramos el te filter column, ahora vamos a configurar el te filter row. --> Ante una te falta pasar name, creo que pasaste ID, me parece, pasaste el name, no sé, no recuerdo, no veo bien ahí. --> Si pasaste ID, pasas el name, nada, es el name que tienes que pasar. Listo, entonces listo. --> Bien, sigamos entonces. Aquí la configuración es menos flexible porque es muy limitada. Lo que --> sí es que es un poco más sencilla de configurar, pero es muy limitada. Entonces, hagámoslo, --> para poder hacer entonces el filtro, especifica las columnas por las cuales tú --> quieres filtrar. Entonces vamos a darle clic aquí en más y te ve a aparecer las columnas --> que entran aquí en el te filter row. Por defecto nada más hay una. Solamente para que observe acá, --> no lo haga usted allá, no lo haga usted allá, mire lo siguiente. Parece que nada más tengo una --> columna, no lo haga usted allá, yo lo hago acá mejor. Voy a mandar esta columna acá, artista, --> no lo haga usted. Entonces, mire lo siguiente un momento. Si yo tengo aquí dos columnas, --> por ejemplo, en este caso tengo name y artista, ¿cómo hace él para saber si es un I o un O? --> Ese I o O lo hace aquí con este AND o OR cuando tiene más de una columna. Entonces tú tienes I, --> OR o como tú quieras. Ahora, si tienes tres columnas y las primeras van por un I y la segunda --> con un OR, no te sale. Es decir, no te sale con este componente. Ve lo siguiente, tengo --> columna A, AND, B, cierro paréntesis aquí, OR, C. Esa no te sale. Aquí no te sale con ese componente. --> Tendrías que hacerlo con un tema que es poco flexible. Entonces, dejo esto como estaba --> anteriormente, por favor. Era para mostrarle esa parte. Este artista lo elimino de aquí, --> OK. Y acá entonces tengo lo siguiente. Dígame. Ah, gracias por la pregunta. Sí, --> muy importante. Qué pena, se me ha olvidado. Esa exposición lo hace cuando es un archivo --> de entrada, un Teflinput, un tipo CSV o JSON, cuando tú defines la metadata. Pero --> cuando haces elementos de comparación con este caso, con este filter column, ahí se hace un --> mapeo por nombres. Es decir, que no hubiese afectado, en pocas palabras, tu pregunta. --> Porque el mapeo lo hace por nombre. Eso nada más se aplica cuando tengo los metadatas, --> para tenerlo en cuenta. Muchas gracias por la pregunta porque es sumamente importante. --> Entonces, vea lo siguiente. Aquí tienes input, aquí tienes función. Aquí las --> funciones son limitadas. Quizás hay funciones que no son las que están buscando. --> Típicamente esto es para igualdad. Para por si, digamos, cumple con una longitud. O en su --> efecto, lo máximo que podía hacer es un match. Y este match, al final lo que compara es un --> regex, una expresión regular. Entonces, si usted quiere, vamos a buscar todos los que empiecen --> por A. Como este es los que empiecen por A, por el carácter A, entonces tengo que colocar --> el símbolo de carácter de Java. O sea, carácter en Java es comilla simple. Esto es netamente Java, --> porque va a comparar por carácter. Si el primer carácter empieza por A. Aquí me mostraría --> todos los nombres que empiecen por A. Si quieres, agrega otra condición. Y qué pena, --> cámbiate de lower a uppercase, perdón, porque creo que empiezan en mayúscula. Cambia --> función de lower a uppercase, porque empiezan en mayúscula y Java es sensible. Y aquí voy a --> colocar la misma función uppercase y que me muestre lo que empiecen por R. No sé si habrá. --> Y cambio el AN, porque si dejo el AN, no va a haber ningún nombre que empiece por A y por R --> a la vez. Nunca va a haber. Cambio este A por OR. Aquí me mostraría los que empiezan --> por A o los que empiezan por R. Ya por costumbre, ya la herramienta la empiezas a entender, --> ya tuvo que haber sincronizado la entrada, la salida de este file row con el telorog. O sea, --> que no voy a buscar el esquema de telorog, porque ya sé que eso va a funcionar bien. --> Entonces, voy a ejecutar aquí. Bueno, aquí se me va a ejecutar los dos jobs. Por favor, --> ejecutalo ya. Ahí se ejecutaron los jobs y tuvo que haberte aparecido el primer job y después --> en el segundo job de ejecución, todos los nombres que empezaban por A o empezaban por --> R. Acá veo un error que tiene, creo que Alberto. Vamos a ver Alberto. Voy a ver tu --> error allá. Hay unas pantallas que no estoy viendo, me disculpo por eso. No sé por qué --> no las veo. Dale ok por favor en el error. Ok. Dale doble clic por favor. Ah, listo, --> porque ahí usaste Super Case y ahí lo que vas a hacer es una comparación de string. --> Alberto. Entonces, el problema no, ahí está bien. OperKeyFace está bien. El problema es el de --> abajo. OperKeyFace. Lo que pasa es que OperKeyFace compara con el primer carácter y OperKeyFace --> compara con los primeros caracteres. Entonces, tienes que mandar un string cuando es OperKeyFace. --> Dale enter. Dale ejecutar para ver. Ahí tienes. Listo. Por favor, si deseas que uno. Acá veo --> también que Yeshua tiene un error. Aclaro, ahora le pregunto a Ximena a ver qué pasa con. --> Yeshua, muéstrame por favor. Dale clic en ok. Doble clic en file row. Que es donde te --> marca el error. Y el problema es que es al revés. Como estás comparando con carácter la --> función OperKeyFace, entonces el carácter del value tiene que ser comilla simple y tienes --> comilla doble allá. O sea, sería cambia la comilla doble por comilla simple. Esto --> también te llama y la función como tal ejecuta para ver. Listo. Pero no te aparece. --> Muestra para ver el filtrado de columnas un momento. No te aparecieron datos. Date cuenta --> que te apareció 0. No, el problema lo tienes. Date cuenta que de entrada de artista a columna, --> importante para tener en cuenta, pasan 200 en 5 filas. En el filtrado van 200 en 5 filas, --> pero en el test filter row salen 0. Muéstrame nuevamente el test filter row. Ah, --> porque tienes an. El operador lógico tiene que ser or. Porque no va a haber ninguno que --> empiece por a y poner al mismo tiempo ejecutar. Ahora sí. Date cuenta que aquí le aparece --> entonces la entrada y cuántas filas van de salida. Solamente para que no se vaya a --> confundir un poquito con ese carácter simple, carácter doble. Lo que pasa es que la --> función esa que se llama oper, case, first, lo que hace es lo siguiente. Tú tienes una --> columna que se llama name y él saca un char of posición 0 y esto es un carácter. Entonces --> tienes que compararlo con comillas simple. Pero entonces mira el siguiente. No la gusta --> ella solamente para que entienda. Vamos a suponer que yo quisiera, yo quisiese --> sacar. Solamente el que se llama audio slate. Entonces para buscar uno específicamente voy --> a usar la función. Aquí voy a tener un problema. Porque no tengo una función. Bueno, --> eso lo hago después, porque aquí no tengo una función, porque no todos saben mayúsculas, --> pero que hay hacer una conversión extraño o hacer un match con un regex. Ese ejemplo lo --> hago. Sigo entonces. Si usted desea, por ejemplo, cuántos sub jobs hay aquí. Según --> lo que expliqué el día de ayer, hay dos sub jobs. Por defecto, la herramienta usa --> un solo hilo de ejecución. Por ende, ejecutaría en la mayor parte de los casos --> el primer sub job que fue el que creaste y después el segundo sub job. Si deseas --> solamente ejecutar un solo sub job, puedes irte al componente inicial de cada sub job, --> le das clic derecho y le dice que desactive el job entero. Desactivar world sub job. Y ahora --> desactiva y solamente ejecutaría el sub job que está activo. Eso simplemente para depurar, --> hacer algunas pruebas que tú quieras. Va a causar un error entonces en el momento de --> ejecutarlo. Ahora, sí, es importante que me recuerde, si se me olvida ese ejemplo, --> cómo hacemos cuando hay dependencia. Cuando tú quieres asegurar que necesariamente el primer --> sub job se ejecute y después el segundo sub job. Me recuerda eso, si se me olvida ese ejemplo. --> Va a hacer el favor. A veces uno con tanta cosa ahí se le olvida. Hagamos el otro ejemplo --> entonces que era con el xml. Muchas gracias. El xml. Entonces, ¿qué sería? Vamos a hacer --> entonces un metadata con xml. El mismo cuento entonces. Ya te empiezas a memorizar con la --> herramienta. Vete a file xml, clic derecho, créate xml aquí. Lo vamos a llamar empleados. --> Lo voy a llamar empleados uno porque ya tengo un empleado. Entonces, conecta --> con la fuente de datos de empleado. Listo, ya empieza a memorizar. Next. --> Muy parecido al señor Jason. Recuerde, la diferencia es que es Aupo, significa que voy --> a escribir en algún repositorio con ese metadata. En este caso, va a ser tipo input. Aquí, --> entonces, no me aparece cuál es el lenguaje de consulta por defecto porque este señor --> es xmlspap. Ten en cuenta el encoding. No te dije nada porque está en un UTF-8, --> pero si te aparece un encoding diferente, por favor, cambia al UTF-8, principalmente por --> tu idioma. Aquí buscas entonces, por favor, ves aquí xml, empleo y escoges empleo y algo --> que va a ser muy particular y muy común, ojo, que con base a los datos te cambió el encoding. --> Te lo pasó a ISO 8899 que es muy bueno para el inglés. Entonces, como eso está en inglés, --> no va a afectar en nada, pero ten en presente si te va a cambiar de pronto con algún dato que --> tengas en español, por si acaso. Aquí te muestra el Viewer de cómo estaría configurada la --> estructura. Dale Next. Bueno, en este caso, al estar de esta forma, row y esto que está --> con sangría a la derecha, indica que este row es un array. Entonces, dale aquí Next y ya --> aquí defines el absolute path que sería el del row. Y si tú quieres, puedes entonces --> seleccionar todas las columnas. Selecciona Employee, tecleas Shift y escoge la última --> columna para que seleccione todo. Y eso está bien. Lo sueltas aquí donde tiene los nombres. --> Dale un Refresh Preview si deseas y te debe aparecer entonces la estructura y debes confirmar --> que esa estructura corresponda con lo que tú deseas hacer. --> Damos aquí entonces Next y aparece exactamente lo mismo. Entonces ya te muestra la estructura --> donde puedes cambiar ya sea los nombres de columna, los tipos de datos. Pero bueno, --> lo dejamos entonces en este caso sí, le damos Finish de este lado. No sé si hacemos --> un pequeño break de 10 minutos para tomarme algo aquí y volvemos a la una con este --> ejemplo. Me regala por favor 10 minutitos para que también se pueda tomar algo también. --> Aquí voy a preguntarle a Jimena inmediatamente. Dígame. Sí. Sí, sí, sí, claro. Gracias, --> gracias. Sí, sí, sí. Muchas gracias por la aclaración. Sí, acá en Colombia tenemos una --> hora diferencia. Sí, señor, sí es. Bueno, volvemos entonces en 10 minutitos a ustedes. --> Bueno, nuevamente volvimos. Estamos conectados por si acaso. Estamos conectados. Perfecto, --> muchísimas gracias. Entonces vamos a hacer lo siguiente. Vamos a hacer entonces un filtrado --> de fila y un filtrado de columna sobre el archivo XML que se llama empleados, --> pero lo vamos a hacer con un componente diferente que se llama Temap. Este componente --> temap que es el componente más usado dentro de talent porque me permite hacer muchas cosas. --> Entonces vamos a hacer lo siguiente. Vamos a primero vamos a este yo que está aquí. El --> segundo yo vamos a desactivarlo para que no nos cause un poco de ruido que daría los dos --> yo desactivado y acto seguido. Entonces agregamos el XML como entrada en el job, --> en el canvas del job. Vamos a agregar un temap --> y vamos a agregar un telokrow. --> Sería la entrada que sería el XML que agregamos como metadata, --> un temap y un telokrow. Acto seguido entonces procedemos a lo siguiente. Entonces vamos --> a conectar cada uno de los componentes. Conectamos empleados con el temap de la --> forma en que usted quiera. Conectamos el temap con el telokrow. Justamente cuando --> conectes el temap con el telokrow te pide el nombre de la conexión de salida. Es --> algo muy particular del temap. Entonces vamos a llamar esta salida empleado mapeado. --> Note que le aparece un punto rojo en la parte superior. Ese punto rojo indica un warning --> diciendo que si usted ejecuta eso con una alta probabilidad va a salir un error. Y el problema --> por qué sale ese error es porque debe configurar la salida del temap hacia el telokrow. O sea, --> todavía no está configurada por defecto en este componente. Ahora vamos a configurar el temap. --> Para hacer un test filter column con un temap simplemente de la entrada escoge las --> columnas que usted quiere en la salida. Para evitar algún problema con el tamaño --> esto amplíe esto un poco más. Y vamos a escoger las siguientes columnas. Employee, --> last name y first name. Lo que pasa es que el temap por defecto hay que configurar un nombre --> de salida. Entonces llámalo empleado mapeado. Como decía entonces para hacer un test filter --> column escoge las columnas de entrada y suelta las aca de salida. Como te comentaba, --> si te das cuenta aquí aparece el nombre por defecto rojo. Aquí por recomendación dale a --> la entrada esta el mismo nombre de tu archivo fuente de datos. Es decir, ya después que --> seleccionaste las columnas dale ok. Cambia el nombre de row 4 o row que tengas. Es decir, --> la flecha que conecta empleado con temap cambia el nombre al mismo nombre de la fuente de --> datos para que tenga más sentido cuando voy a hacer un join. En este caso no lo espero, --> me acostumbro a hacerlo de la misma forma siempre. Entonces, ¿qué hago? Le doy click en --> row, click nuevamente y voy a cambiar este nombre a empleados y alto seguido dale --> doble click nuevamente en el temap y te debería aparecer empleados. De esta forma --> has hecho un test filter column. ¿Cómo haríamos un test filter row? Para hacer --> un test filter row nuevamente ubícate. Bueno, estamos actualmente en la configuración del --> temap, le das doble click si no estás todavía en el temap y en la parte superior de la entrada --> te aparecen varias opciones. Entre una opción esa está una flecha. Expande la flechita y --> te aparece un te va a aparecer una una casilla u texárea. Quiero ahora mostrar solamente los --> nombres que empiezan por A. Entonces la columna que voy a intervenir en este caso es first name. --> Ok, entonces tú vas a escoger las columnas que tú quieras para filtrar. ¿Cómo vas a hacer --> entonces? Toma la columna, le das click sostenido y la sueltas en el texárea para saber que por --> esa columna vas a filtrar. Y aquí sí te toca programar un poco con Java. Este filtro que --> depende netamente del tipo de dato. Entonces el caso particular de Java tiene lo siguiente, --> simplemente pues el curso no es de Java, pero sería interesante que pues tengas en cuenta --> lo siguiente. Voy a mostrarte aquí algo. Si tú tienes una cadena de tipo string, --> por ejemplo name, voy a asignarle a este name, por ejemplo jump, tienes una cadena --> numérica, al final te da lo mismo integer, tampoco te da lo mismo integer, valor aquí, --> voy a colocar aquí 4 por ejemplo. En caso cuando yo quiera comparar si un string es igual a otro --> string, entonces me toca usar la función, por ejemplo name, varias funciones, hay una --> que se llama equals, que este lo que hace es que iguala en caso sensitivo. Y si quieres en --> caso insensitivo, entonces le das este señor ignore case. Cuando compara un valor numérico, --> pues depende más del tipo de valor numérico, pero si que está entero, yo puedo hacer por --> ejemplo valor y le doy doble igual y comparo con otro valor, por ejemplo 5. Entonces al --> final más depende del lenguaje Java que de la herramienta como tal. Como ese first name es un --> string y quiero que sea igual o que inicie. Bueno, que inicie hay un método que se llama --> de la siguiente forma. Hay un método que se llama name.startWidth y le mando la cadena con --> la cual quiero que empiece. Este es el método que voy a usar, startWidth. Esto lo mostré --> simplemente para que veas que esto que voy a crear es ya netamente Java, no tiene nada que --> ver con talent. Voy aquí nuevamente a la máquina que tengo de este lado y le agrego entonces punto, --> te voy a mostrar mejor de este lado. Voy a expandir aquí con este. Le voy a dar aquí --> punto, start, dale control espacio para ver si te encuentra el método. Hay veces que no --> y que empiecen por A. O el O en Java es dole pipe que empiecen por R. Ahora te muestro en --> grande esto que está acá. O sea lo que te va a quedar ahí es lo siguiente. Este empleado depende, --> aquí me equivoqué, yo uso empleado. Este depende de cómo llamaste la flecha. Pero lo --> que tienes que tener en cuenta es esta función punto startWidth o que empiece por R. --> No, porque en este caso esta función permite que tú puedas buscar por inicio. Por ejemplo, --> yo si quiero buscar los que empiecen por A, B. No por un carácter sino por un string. --> Entonces el método como tal recibe un string. Sí, esto llama particular de Java. Vamos a --> ejecutar. Me avisa si tiene algún error para ver. Damos aquí OK. Y cuando ejecute, --> pues en teoría deberías salir con algún error o simplemente pues debe aparecer dos nombres. Uno --> que se llama Andrew y uno que se llama Robert. Verifiquemos si no tiene ningún error. --> Antonio, me parece que te veo vacío eso. No sé si te veo vacío o te aparecieron los nombres. --> Vamos a ver entonces. Muéstrame el tema por favor. Dale doble clic al tema. Dice --> startWidth A o R. Claro, está bien. O empleados FirstName R. Listo. StartWidth. Dale --> OK un momento a ver. OK. Muéstrame la entrada que tiene el OK. Entra al TMAG nuevamente. --> Entra al TMAG. Copia la condición que tienes. Copia toda la condición. Bueno, la corta. Pues --> la cortala. La que te quede guardada un momento. Vuelve a ejecutar para ver. Dale OK. --> Tiene que volver a ejecutar. Está bien. Listo. Entra nuevamente al TMAG. Nuevamente al TMAG. --> Coloca la condición. Entra nuevamente al TMAG. Coloca la condición. Dale OK. Si tú quieres te --> explico algo. Ejecuta un momento ahí. Ejecuta un momento por favor, obviamente. Si te das --> cuenta ahora, salieron de la entrada 8 filas y el filtro 2, ¿Verdad? Pero no la está --> mostrando. El problema tuyo es con el TeloRow. Dale doble clic al TeloRow un momento. --> Dale editar esquema un momento ahí. Fíjate que por cosas de la vida no sé qué pasó hoy --> porque no porque no tiene TeloRow. Dale OK. Vuelve a ejecutar nuevamente por favor. Sí, --> pero es raro que no lo haya hecho. Pero bueno, no está raro. A veces fallan algunos que --> hacen la herramienta. Ahora sí. Listo. ¿A quién más? De pronto no le funcionó. --> Aclaro que hay algunos que no los alcanzo a ver. Listo. Me disculpa por eso porque no sé, --> no solucionó el problema todavía. Dígame. --> No, aquí no sé. Creo que un problema en la herramienta. Yo debía darle contra el espacio. --> No, él aparece cuando coloca un componente llamado TeloRow. Ahí sí aparece. Pero acá --> no sé por qué no aparece. Por último, sí debería aparecer porque no es un problema --> del Java. Debe ser un problema del Eclipse. O sea, del de la UI que tengo de Eclipse aquí. --> No sé por qué no sale. Hagamos entonces ahora un formateo de datos. Vamos. ¿Quién me habla? --> Perdón, se perdió la comunicación. ¿Quién me decía?