En esta Ruta de aprendizaje conectada, crearemos una Cadena que ilustra cómo convertir un simple conjunto de datos JSON a CSV. Además, exploraremos cómo hacer un bucle sobre un conjunto de datos JSON y filtrar en función de los valores de los datos.
Objetivo principal de aprendizaje | Capacidad del conector JSON |
Objetivos de aprendizaje secundarios |
Transformación tabular Comando de consulta avanzada Grupo de iteración |
Requisitos previos | Configurar la conexión del conector JSON |
Plantilla de apoyo | CLP | Acceso a datos JSON |
Paso 1: Crear una cadena
- Añadir una nueva cadena
- Nombre de la cadena CLP | Acceso a datos JSON
- Crear variable Cadena:
- En Variables en cadena, haga clic en el signo más
- Nombre: cv-JSON-Employee
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/emp_detail.json
- En Variables en cadena, haga clic en el signo más
- Salvar la cadena
Paso 2: Recuperar datos JSON
Utilizamos el conector HTTP para recuperar datos relacionados con el recuento en formato JSON desde una ubicación web.
- Añade un comando GET desde el conector HTTP al nodo 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-Employee Variable en cadena |
Cadena de consulta | <dejar en blanco> |
Tipo de contenido | application/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 formato CSV. En este paso, seleccione sólo los campos ID de empleado y país de la matriz JSON.
Es importante comprender el esquema del conjunto de datos JSON. Para visualizar el esquema se puede utilizar el comando Listar contenido de archivos del conector de utilidades de archivos. También puede añadir el esquema al campo Respuesta del comando Obtener para facilitar la consulta. A continuación se muestra el esquema JSON de los empleados:
Esquema:
[
{
"emp_id": "26-4992011",
"user_name": "apostle0",
"first_name": "Audi",
"last_name": "Postle",
"job_title": "Chief Design Engineer",
"department": "Marketing",
"city": "Cheyenne",
"country": "United States",
"currency": "USD",
"hire_date": "08/30/2000",
"fte": 1,
"termed": false
}
]
- Añada un comando Array to CSV del conector JSON a la cadena.
- Conecte el nodo de inicio (GET - Todos los empleados) al comando Array to CSV .
- Nombre del comando: Matriz a CSV - Todos los Empleados.
- En el parámetro Datos JSON , seleccione la Respuesta Salida del comando GET - Todos los empleados .
- Deje en blanco los parámetros Input Text, Path to root, y Filter .
- Deje el parámetro Delimitador multivalor como una coma (,).
- Marque la opción Preview Result .
- La sección Columnas se utiliza para especificar qué elementos de la matriz JSON se extraerán a un conjunto de datos en columnas (CSV). Pulse una vez el botón Add para añadir una columna adicional.
- En la primera columna, introduzca emp_id para el Nombre de 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, introduzca country para el Nombre de columna y .country para los parámetros JSONPath.
- Seleccione Coma para el parámetro Delimitador .
- En la primera columna, introduzca emp_id para el Nombre de columna y .emp_id para los parámetros JSONPath.
- Guardar el comando
Paso 4: Obtener la lista única de países en los datos
Utilice una sencilla sentencia Select Distinct con el comando de consulta avanzada del conector de transformación tabular para obtener el conjunto único de países de los datos. Más adelante en este ejercicio, esta lista se utilizará para recuperar los empleados por cada país individualmente.
- Añada un comando Advanced Query del conector Tabular Transformation a la cadena.
- Conecte el comando Array to CSV - All Employees al comando Advanced Query .
- Nombre el comando: Consulta Avanzada - Países.
- La sección Tablas permite utilizar uno o varios conjuntos de datos delimitados para crear tablas en las que se pueden escribir sentencias SQL. Se genera sobre la marcha una base de datos SQLite con las tablas especificadas, sin necesidad de instalar software adicional.
- En el campo Archivo , especifique el Archivo convertido Salida del comando Array to CSV - All Employees .
- Introduzca Países en el parámetro Nombre de la tabla . La consulta especificada se ejecutará en esta tabla.
- En el parámetro Consulta, introduzca 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ámetroPreview results
- Guarda el comando.
Paso 5: Crear una matriz JSON a partir de la lista de países
Utilizamos el comando CSV a JSON del conector JSON para convertir la lista única de países en una matriz JSON. Un grupo de comandos puede iterar sobre cada elemento de esta matriz.
- Añada un comando CSV to JSON desde el conector JSON a la cadena.
- Conecte el comando Consulta avanzada - Países al comando CSV a JSON .
- Configure el Comando de la siguiente manera:
Nombre | CSV a JSON - Países |
Fichero de entrada | Resultado Salida del comando Consulta avanzada - Países |
Delimitador | Coma (,) |
- Guardar el comando
Paso 6: Añadir un grupo de comandos
Añada un Grupo de Comandos a la Cadena para permitir la iteración sobre cada uno de los países individuales identificados en el paso de Consulta Avanzada.
- Añada un grupo de mando a la cadena.
- Conecte el comando CSV to JSON - Countries a la sección In del grupo de comandos.
- Haga clic en el grupo de comandos y seleccione el icono del cuentagotas para cambiar el color de los comandos a naranja.
- Nombre del grupo: Empleados Activos.
- Active el conmutador Iteraciones en la pestaña iteraciones y seleccione la salida Archivo JSON del comando CSV a JSON - Países .
- Guarde el grupo de comandos.
Paso 7: Filtrar datos JSON de empleados por país
Convierte el conjunto de datos JSON a CSV filtrando sólo los registros de empleados para el país que se está procesando actualmente en la iteración. Este paso pone de relieve dos potentes capacidades: la posibilidad de realizar bucles o iteraciones y la de aplicar filtros al proceso de conversión JSON. Comprender estas capacidades refuerza la propia habilidad para desarrollar Cadenas robustas y eficientes.
Copie el comando Array to CSV previamente configurado para este paso y la configuración aprovecha en gran medida la misma configuración excepto donde se indica a continuación.
- Copie la matriz a CSV - Todos los empleados Comando.
- Conecte el grupo Inicie desde el grupo de comandos al comando Array to CSV - All Employees (Copy).
- Edita el comando.
- Nombre del comando: Matriz a CSV - Empleados por País.
- En el parámetro Filtro, introduzca lo siguiente
?(@.country == "<JSON FILE ITERATION>")
-
- El espacio antes de y después del doble signo igual (==) son necesarios.
- <JSON FILE ITERATION> debe sustituirse por JSON File Iteration bajo Group Iterator en el panel de variables.
- Cuando añada la Iteración del Archivo JSON, haga clic en la burbuja Variable y añada una Transformación Obtener Valor de la Variable JSON.
- En el parámetro Valor de la Transformación de la variable, introduzca país y, a continuación, pulse la tecla Intro. Recuerde que JSON es distingue entre mayúsculas y minúsculas.
- Edite la columna emp_id para que tenga un Nombre de columna de employee_id. No cambie el JSONPath.
- No es necesario que el nombre de columna generado por el comando coincida con la clave de la matriz JSON.
- Añada 10 Columnas al Comando y configúrelas según se indica a continuación:
Nombre de la columna | JSONPath |
nombre_usuario | .nombre_usuario |
nombre | .nombre |
apellido | .apellido |
título | .job_title |
departamento | .departamento |
ciudad | .ciudad |
divisa | .moneda |
fecha_contratación | .fecha_contratación |
fte | .fte |
terminado | .denominado |
- Guarda el comando.
Paso 8: Probar el ejercicio
Ahora que la cadena está completa, prueba el resultado.
- Publica la Cadena.
- Haga clic en Ejecutar y, a continuación, seleccione Ejecutar cadena.
- Una vez completada la Cadena, haga clic en el nodo Array to CSV - Employees by Country .
- Observe que la iteración se ejecutó cinco (5) veces.
- Seleccione cada valor de iteración y haga clic en la pestaña Inputs . Confirme que el filtro coincide con la tabla siguiente.
- Seleccione la iteración 5 y haga clic en la pestaña Logs . Confirme que la vista previa de los datos coincide con la imagen inferior.
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, consulta Connected Learning Paths - Transformation Introduction