En esta ruta de aprendizaje conectada, crearemos una cadena que ilustra cómo convertir un conjunto de datos JSON simple a CSV. Además, exploraremos cómo recorrer un conjunto de datos JSON y filtrar según los valores de los datos.
Objetivo de aprendizaje principal | Capacidad del conector JSON |
Objetivos de aprendizaje secundarios |
Comando de consulta avanzada de transformación tabular Iteración de grupo |
Requisitos previos | Configurar la conexión del conector JSON |
Plantilla de apoyo | CLP | Acceso a datos JSON |
Paso 1: Crear una cadena
- Agregar una nueva cadena
- Nombrar la cadena CLP | Acceder a datos JSON
- Crear variable de cadena:
- En Variables de cadena, haga clic en el signo más
- Nombre: cv-JSON-Empleado
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/emp_detail.json
- En Variables de cadena, haga clic en el signo más
- Salva la cadena
Paso 2: Recuperar datos JSON
Utilizamos el conector HTTP para recuperar datos relacionados con el recuento de personal en formato JSON desde una ubicación web.
- Agregue un comando GET desde el conector HTTP al nodo de inicio
- Configure el comando con lo siguiente:
Nombre | GET - Todos los empleados |
Nombre de usuario | <dejar en blanco> |
Contraseña | <dejar en blanco> |
Certificado CA | <dejar en blanco> |
Certificado | <dejar en blanco> |
Clave privada del certificado | <dejar en blanco> |
Mostrar respuesta | Comprobado |
dirección URL|URL | cv-JSON-Empleado Variable de cadena |
Cadena de consulta | <dejar en blanco> |
Tipo de contenido | aplicación/json |
Respuesta | <dejar en blanco> |
- Guardar el comando
Paso 3: Convertir JSON a CSV
Utilice el conector JSON para convertir el conjunto de datos JSON a un formato CSV. En este paso, seleccione solo los campos de ID de empleado y país de la matriz JSON.
Es importante comprender el esquema del conjunto de datos JSON. Se puede utilizar un comando de lista de contenido de archivo del Conector de utilidades de archivo para visualizar el esquema. También puede agregar el esquema al campo Respuesta en el comando Obtener para una fácil referencia. A continuación se muestra el esquema del JSON de los empleados:
Esquema:
[
{
"emp_id": "26-4992011",
"user_name": "apostle0",
"first_name": "Audi",
"last_name": "Postle",
"job_title": "Ingeniero Jefe de Diseño",
"department": "Marketing",
"city": "Cheyenne",
"country": "United States",
"currency": "USD",
"hire_date": "08/30/2000",
"fte": 1,
"termed": false
}
]
- Agregue una matriz a un comando CSV desde el conector JSON a la cadena.
- Conecte el nodo de inicio (GET - Todos los empleados) al comando Array to CSV .
- Nombra el comando: Matriz a CSV - Todos los empleados.
- En el parámetro Datos JSON , seleccione la Respuesta Salida del comando GET - Todos los empleados .
- Deje los parámetros Texto de entrada, Ruta a la raízy Filtro en blanco.
- Deje el parámetro Delimitador multivalor como una coma (,).
- Marque la opción Vista previa del resultado .
- La sección Columnas se utiliza para especificar qué elementos de la matriz JSON se extraerán a un conjunto de datos columnar (CSV). Haga clic en el botón Agregar una vez para agregar una columna adicional.
- En la primera columna, ingrese emp_id para el nombre de la columna y .emp_id para los parámetros JSONPath.
- ❗ Asegúrese de incluir el punto (.) antes de emp_id en el parámetro JSONPath.
- En la segunda columna, ingrese country para el nombre de la columna y .country para los parámetros JSONPath.
- Seleccione Coma para el parámetro Delimitador .
- En la primera columna, ingrese emp_id para el nombre de la columna y .emp_id para los parámetros JSONPath.
- Guardar el comando
Paso 4: Obtenga la lista única de países en los datos
Utilice una simple declaración Select Distinct con el comando de consulta avanzada del Conector de transformación tabular para obtener el conjunto único de países en los datos. Más adelante en este ejercicio, esta lista se utilizará para recuperar los empleados de cada país individualmente.
- Agregue un comando Consulta avanzada desde el conector Transformación tabular a la cadena.
- Conecte el comando Array to CSV - All Employees al comando Advanced Query .
- Nombra el comando: Consulta avanzada - Países.
- La sección Tablas permite utilizar uno o más conjuntos de datos delimitados para crear tablas en las que se pueden escribir declaraciones SQL. Se genera sobre la marcha una base de datos SQLite con las tablas especificadas, no se requiere la instalación de software adicional.
- En el campo Archivo , especifique el Archivo convertido Salida del comando Matriz a CSV - Todos los empleados .
- Introduzca Países en el parámetro Nombre de la tabla . La consulta especificada se ejecutará en esta tabla.
- En el parámetro Consulta, ingrese lo siguiente:
Seleccione un país distinto de los países
- Especifique Coma para los parámetros Delimitador de entrada y Delimitador de salida .
- Compruebe el parámetro Vista previa de resultados
- Guardar el comando.
Paso 5: Crear una matriz JSON a partir de la lista de países
Usamos el comando CSV a JSON del Conector JSON para convertir la lista única de países en una matriz JSON. Luego, un grupo de comando puede iterar sobre cada elemento de esta matriz.
- Agregue un comando CSV a JSON desde el conector JSON a la cadena.
- Conecte el comando Consulta avanzada - Países al comando CSV a JSON .
- Configure el comando utilizando lo siguiente:
Nombre | CSV a JSON - Países |
Archivo de entrada | Resultado Salida del comando Consulta avanzada - Países |
Delimitador | Coma (,) |
- Guardar el comando
Paso 6: Agregar un grupo de comandos
Agregue un grupo de comando a la cadena para permitir la iteración en cada uno de los países individuales identificados en el paso de consulta avanzada.
- Añade un Grupo de Comandos a la Cadena.
- Conecte el comando CSV a JSON - Países a la sección En del grupo de comandos.
- Haga clic en el Grupo de comandos y luego seleccione el ícono del cuentagotas para cambiar el color del comando a naranja.
- Nombre del grupo: Empleados activos.
- Habilite el interruptor Iteraciones en la pestaña de iteraciones y seleccione Archivo JSON Salida del comando CSV a JSON - Países .
- Salvar al grupo de mando.
Paso 7: Filtrar datos JSON para empleados por país
Convierte el conjunto de datos JSON a CSV mientras filtra solo los registros de empleados del país que se está procesando actualmente en la iteración. Este paso resalta dos capacidades poderosas: la capacidad de realizar bucles o iteraciones y la capacidad de aplicar filtros al proceso de conversión JSON. Comprender estas capacidades refuerza la capacidad de desarrollar cadenas robustas y eficientes.
Copie el comando Array a CSV configurado previamente para este paso y la configuración aprovecha en gran medida la misma configuración excepto donde se indica a continuación.
- Copiar la matriz a CSV: comando Todos los empleados .
- Conecte el Grupo de inicio del Grupo de comando a la Matriz a CSV - Todos los empleados (Copiar) Comando.
- Editar el comando.
- Nombra el comando: Matriz a CSV - Empleados por país.
- En el parámetro Filtro, ingrese lo siguiente:
?(@.país == "<JSON FILE ITERATION>")
-
- El espacio antes de y después del doble signo igual (==) son obligatorios.
- <JSON FILE ITERATION> debe reemplazarse con Iteración de archivo JSON debajo de Iterador de grupo en el Panel de variables.
- Al agregar la iteración del archivo JSON, haga clic en la burbuja Variable y agregue una transformación Obtener valor de la variable JSON.
- En el parámetro Valor de la Transformación Variable, ingrese país y luego presione la tecla Enter. Recuerde que JSON distingue entre mayúsculas yminúsculas .
- Edite la columna emp_id para tener un Nombre de columna de empleado_id. No cambie el JSONPath.
- El nombre de la columna generado por el comando no necesita coincidir con la clave de la matriz JSON.
- Agregue 10 columnas al comando y configúrelo de acuerdo con lo siguiente:
Nombre de la columna | Ruta JSON |
nombre de usuario | .nombre de usuario |
nombre de pila | .nombre de pila |
apellido | .apellido |
título | .título profesional |
departamento | .departamento |
ciudad | .ciudad |
divisa | .divisa |
fecha de contratación | .fecha_de_contratación |
ETC | .fte |
finalizado | .denominado |
- Guardar el comando.
Paso 8: Pruebe el ejercicio
Ahora que la cadena está completa, prueba el resultado.
- Publicar la Cadena.
- Haga clic en Ejecutar y luego seleccione Ejecutar cadena.
- Una vez completada la cadena, haga clic en el nodo Matriz a CSV - Empleados por país .
- Tenga en cuenta que la iteración se ejecutó cinco (5) veces.
- Seleccione cada valor de iteración y luego haga clic en la pestaña Entradas . Confirme que el Filtro coincida con la siguiente tabla.
- Seleccione la iteración 5 y haga clic en la pestaña Registros . Confirme que la vista previa de los datos coincida con la imagen a continuación.
Iteración 1 | Estados Unidos |
Iteración 2 | Brasil |
Iteración 3 | Kenia |
Iteración 4 | Italia |
Iteración 5 |
Australia |
Para obtener más información sobre la transformación de datos mediante cadenas, consulte Rutas de aprendizaje conectadas: Introducción a la transformación!