Preguntas frecuentes sobre el servicio de consultas y Data Distiller
Este documento responde a las preguntas más frecuentes sobre el servicio de consultas y Data Distiller. También incluye códigos de error comúnmente vistos al utilizar el producto "Consultas" para la validación de datos o escribir datos transformados de nuevo en el lago de datos. Si tiene alguna pregunta o desea solucionar problemas de otros servicios de Adobe Experience Platform, consulte la guía de solución de problemas para Experience Platform.
Para aclarar cómo Query Service y Data Distiller trabajan juntos en Adobe Experience Platform, aquí hay dos preguntas básicas.
¿Cuál es la relación entre Query Service y Data Distiller?
Query Service y Data Distiller son componentes distintos y complementarios que proporcionan capacidades específicas de consulta de datos. El servicio de consultas está diseñado para que las consultas ad hoc exploren, validen y experimenten con los datos ingeridos sin alterar el lago de datos. Por el contrario, Data Distiller se centra en consultas por lotes que transforman y enriquecen los datos, con resultados almacenados de nuevo en el lago de datos para uso futuro. Las consultas por lotes en Data Distiller se pueden programar, monitorizar y administrar, lo que permite un procesamiento y una manipulación de datos más profundos que el servicio de consultas por sí solo no facilita.
En conjunto, Query Service facilita perspectivas rápidas, mientras que Data Distiller permite transformaciones de datos profundas y persistentes.
¿Cuál es la diferencia entre Query Service y Data Distiller?
Servicio de consulta: se utiliza para consultas SQL centradas en la exploración, el validación y la experimentación de datos. Las salidas no se almacenan en el lago de datos y el tiempo de ejecución está limitado a 10 minutos. Las consultas ad hoc son adecuadas para realizar comprobaciones y análisis de datos ligeros e interactivos.
Distiller de datos: permite consultas por lotes que procesan, limpian y enriquecen datos, con resultados almacenados nuevamente en el lago de datos. Estas consultas admiten una ejecución más prolongada (hasta 24 horas) y funciones adicionales gustar programación, supervisión y sistema de informes acelerado. Data Distiller es ideal para la manipulación de datos en profundidad y tareas de procesamiento de datos programadas.
Consulte el documento🔗 de empaquetado del servicio de consultas para obtener información más detallada.
Categorías de preguntas categories
El siguiente lista de respuestas a las preguntas más frecuentes se divide en las siguientes categorías:
Preguntas del Servicio de consulta general general
Esta sección incluye información sobre rendimiento, límites y procesos.
¿Puedo desactivar la función de autocompletar en el editor del servicio de consultas?
¿Por qué el editor de consultas a veces se vuelve lento cuando escribo un consulta?
¿Puedo usar Postman para la API del servicio de consultas?
¿Hay un límite en el número máximo de filas devueltas por una consulta a través de la interfaz de usuario?
¿Puedo utilizar las consultas para actualizar filas?
¿Existe un límite de tamaño de datos para el resultado de una consulta?
¿Cómo puedo evitar el límite en el número de filas de salida de una consulta SELECT?
Para evitar el límite de filas de salida, aplique "LIMIT 0" en la consulta. Por ejemplo:
code language-sql |
---|
|
¿Cómo evito que mis consultas agoten el tiempo de espera en 10 minutos?
Se recomiendan una o más de las siguientes soluciones en caso de que se agote el tiempo de espera de las consultas.
- Convierta la consulta en una consulta CTAS y programe la ejecución. La programación de una ejecución se puede realizar mediante la interfaz de usuario o la API.
- Ejecute la consulta en un fragmento de datos más pequeño aplicando condiciones de filtro adicionales.
- Ejecute el comando EXPLAIN para recopilar más detalles.
- Revise las estadísticas de los datos dentro del conjunto de datos.
- Convierta la consulta en un formulario simplificado y vuelva a ejecutarla con instrucciones preparadas.
¿Hay algún problema o impacto en el rendimiento del servicio de consultas si se ejecutan varias consultas simultáneamente?
¿Puedo utilizar palabras clave reservadas como nombre de columna?
ORDER
, GROUP BY
, WHERE
, DISTINCT
. Si desea utilizar estas palabras clave, debe omitir estas columnas.¿Cómo encuentro un nombre de columna de un conjunto de datos jerárquico?
Los siguientes pasos describen cómo mostrar una vista tabular de un conjunto de datos a través de la interfaz de usuario, incluidos todos los campos y columnas anidados en un formulario aplanado.
- Después de iniciar sesión en el Experience Platform, seleccione Conjuntos de datos en la navegación izquierda de la interfaz de usuario para navegar hasta el panel Conjuntos de datos.
- Se abre la pestaña Examinar de conjuntos de datos. Puede utilizar la barra de búsqueda para restringir las opciones disponibles. Seleccione un conjunto de datos de la lista mostrada.
- Aparece la pantalla Actividad de conjuntos de datos. Seleccione Previsualizar conjunto de datos para abrir un cuadro de diálogo del esquema XDM y la vista tabular de los datos aplanados del conjunto de datos seleccionado. Encontrará más detalles en la documentación de vista previa de un conjunto de datos
- Seleccione cualquier campo del esquema para mostrar su contenido en una columna aplanada. El nombre de la columna se muestra encima de su contenido en el lado derecho de la página. Debe copiar este nombre para utilizarlo para consultar este conjunto de datos.
Consulte la documentación para obtener instrucciones completas sobre cómo trabajar con estructuras de datos anidadas mediante el Editor de consultas o un cliente terceros.
¿Cómo puedo acelerar un consulta en un conjunto de datos que contiene matrices?
¿Por qué mi CTAS consulta sigue procesándose después de muchas horas solo para un pequeño número de filas?
Si el consulta ha tardado mucho tiempo en un conjunto de datos muy pequeño, póngase en contacto con el servicio de atención al cliente.
Puede haber varias razones por las que un consulta atascado durante el procesamiento. Para determinar la causa exacta se requiere una análisis en profundidad caso por caso. Póngase en contacto con Adobe Systems atención al cliente para realizar este proceso.
¿Cómo me pongo en contacto con Adobe Systems atención al cliente? customer-support
Una lista completa de Adobe Systems números de teléfono de atención al cliente está disponible en el Página de ayuda de Adobe Systems. Alternativamente, también puede encontrar ayuda en línea completando los siguientes pasos:
- Desplácese hasta https://www.adobe.com/ en su explorador web.
- En el lado derecho de la barra de navegación superior, seleccione Iniciar sesión.
- Utilice sus Adobe ID y contraseña registrados con su licencia Adobe Systems.
- Seleccione Ayuda y asistencia en la barra de navegación superior.
Aparece un banner desplegable que contiene la sección Ayuda y soporte técnico. Seleccione Póngase en contacto con nosotros para abrir el Asistente virtual del Servicio de atención al cliente de Adobe o seleccione Soporte empresarial para obtener ayuda específica para organizaciones grandes.
¿Cómo implemento una serie secuencial de trabajos, sin ejecutar trabajos subsiguientes si el trabajo anterior no se completa correctamente?
La función de bloque anónimo permite encadenar una o más sentencias SQL que se ejecutan en secuencia. También permiten la opción de la gestión de excepciones.
Consulte la documentación de bloqueo anónimo para obtener más información.
¿Cómo implemento la atribución personalizada en el servicio de consultas?
Existen dos maneras de implementar la atribución personalizada:
- Use una combinación de funciones definidas por Adobe existentes para identificar si se cumplen las necesidades del caso de uso.
- Si la sugerencia anterior no se ajusta a su caso de uso, debería utilizar una combinación de funciones de ventana. Las funciones de ventana buscan todos los eventos en una secuencia. También le permiten revisar los datos históricos y se pueden utilizar en cualquier combinación.
¿Puedo crear una plantilla de mis consultas para poder reutilizarlas fácilmente?
¿Cómo se recuperan los registros de errores de una consulta? error-logs
Para recuperar los registros de errores de una consulta específica, primero debe utilizar la API del servicio de consultas para recuperar los detalles del registro de consultas. La respuesta HTTP contiene los ID de consulta necesarios para investigar un error de consulta.
Utilice el comando GET para recuperar varias consultas. Encontrará información sobre cómo realizar una llamada a la API en documentación de llamadas a la API de ejemplo.
En la respuesta, identifique la GET que desee investigar y realice otra solicitud utilizando su valor id
. Encontrará instrucciones completas en la documentación de recuperación de una consulta mediante ID.
Una respuesta correcta devuelve el estado HTTP 200 y contiene la matriz errors
. La respuesta se ha abreviado para ser más breve.
code language-json |
---|
|
La documentación de referencia de la API del servicio de consultas proporciona más información sobre todos los extremos disponibles.
¿Qué significa "Error al validar el esquema"?
El mensaje "Error al validar el esquema" significa que el sistema no puede localizar un campo dentro del esquema. Debería leer el documento de prácticas recomendadas para organizar recursos de datos en el servicio de consultas seguido de Crear tabla como documentación seleccionada.
En el ejemplo siguiente se muestra el uso de una sintaxis CTAS y un tipo de datos struct:
code language-sql |
---|
|
¿Cómo proceso rápidamente los nuevos datos que entran en el sistema todos los días?
SNAPSHOT
se puede usar para leer de forma incremental los datos de una tabla en función de un ID de instantánea. Esto es ideal para usarlo con el patrón de diseño carga incremental que solo procesa la información en el conjunto de datos que se ha creado o modificado desde la última ejecución de carga. Como resultado, aumenta la eficacia del procesamiento y se puede utilizar tanto con el procesamiento de datos por lotes como con el streaming.¿Por qué hay una diferencia entre los números que se muestran en la interfaz de usuario del perfil y los números calculados a partir del conjunto de datos de exportación de perfiles?
Los números mostrados en el tablero de perfiles son precisos a partir de la última instantánea. Los números generados en la tabla de exportación de perfiles dependen totalmente de la consulta de exportación. Como resultado, una causa común de esta discrepancia es consultar el número de perfiles que cumplen los requisitos de una audiencia determinada.
note note |
---|
NOTE |
La consulta incluye datos históricos, mientras que la interfaz de usuario solo muestra los datos de perfil actuales. |
¿Por qué mi consulta devolvió un subconjunto vacío y qué debo hacer?
La causa más probable es que la consulta tenga un ámbito demasiado limitado. Debe quitar sistemáticamente una sección de la cláusula WHERE
hasta que comience a ver algunos datos.
También puede confirmar que el conjunto de datos contiene datos mediante una pequeña consulta como:
code language-sql |
---|
|
¿Puedo tomar muestras de mis datos?
¿Qué funciones de ayuda admite el servicio de consultas?
¿Se admiten todas las funciones nativas de Spark SQL o los usuarios están restringidos únicamente a las funciones de envoltorio Spark SQL proporcionadas por el Adobe?
¿Pueden los usuarios definir sus propias funciones definidas usuario (UDF) que se pueden utilizar en otras consultas?
¿Qué debo hacer si mi consulta programada falla?
En primer lugar, compruebe los registros para averiguar los detalles del error. La sección de preguntas frecuentes sobre la búsqueda de errores en los registros proporciona más información sobre cómo hacerlo.
También debe consultar la documentación para obtener orientación sobre cómo realizar consultas programadas en el IU y a través de la API.
Tenga en cuenta que, al utilizar el Query Editor solo puede agregar un programa a un consulta que ya se ha creado y guardado. Esto no se aplica a la Query Service API.
¿Qué significa el error "Límite de sesión alcanzado"?
¿Cómo gestiona el registro de consultas las consultas relacionadas con un conjunto de datos eliminado?
¿Cómo puedo obtener solo los metadatos de una consulta?
Puede ejecutar una consulta que devuelva cero filas para obtener sólo los metadatos como respuesta. Esta consulta de ejemplo devuelve sólo los metadatos de la tabla especificada.
code language-sql |
---|
|
¿Cómo puedo iterar rápidamente en una consulta CTAS (Crear tabla como selección) sin materializarla?
Puede crear tablas temporales para repetir y experimentar rápidamente una consulta antes de materializarla para su uso. También puede utilizar tablas temporales para validar si una consulta funciona.
Por ejemplo, puede crear una tabla temporal:
code language-sql |
---|
|
A continuación, puede utilizar la tabla temporal de la siguiente manera:
code language-sql |
---|
|
¿Cómo cambio la zona horaria a y desde una marca de tiempo UTC?
Adobe Experience Platform conserva los datos en formato UTC (hora universal coordinada). Un ejemplo del formato UTC es 2021-12-22T19:52:05Z
El servicio de consultas admite funciones SQL integradas para convertir una marca de tiempo determinada al formato UTC y desde este. Los métodos to_utc_timestamp()
y from_utc_timestamp()
toman dos parámetros: timestamp y timezone.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Parámetro | Descripción |
Marca de tiempo | La marca de tiempo se puede escribir en formato UTC o en formato {year-month-day} simple. Si no se proporciona ninguna hora, el valor predeterminado es medianoche en la mañana del día determinado. |
Zona horaria | La zona horaria se escribe en formato {continent/city}) . Debe ser uno de los códigos de zona horaria reconocidos tal como se encuentran en la base de datos TZ de dominio público. |
Convertir a la marca de tiempo UTC
El método to_utc_timestamp()
interpreta los parámetros dados y lo convierte a la marca de tiempo de su zona horaria local en formato UTC. Por ejemplo, la zona horaria de Seúl, Corea del Sur, es UTC/GMT +9 horas. Al proporcionar una marca de tiempo de solo fecha, el método utiliza un valor predeterminado de medianoche en la mañana. La marca de tiempo y la zona horaria se convierten al formato UTC desde el momento de esa región a una marca de tiempo UTC de su región local.
code language-sql |
---|
|
La consulta devuelve una marca de tiempo en la hora local del usuario. En este caso, a las 3 p. m. del día anterior, ya que Seúl está nueve horas por delante.
code language-none |
---|
|
Otro ejemplo: si la marca de tiempo dada era 2021-07-14 12:40:00.0
para la zona horaria Asia/Seoul
, la marca de tiempo UTC devuelta sería 2021-07-14 03:40:00.0
El resultado de la consola proporcionado en la interfaz de usuario del servicio de consultas tiene un formato más legible en lenguaje natural:
code language-none |
---|
|
Convertir desde la marca de tiempo UTC
El método from_utc_timestamp()
interpreta los parámetros dados de la marca de tiempo de su zona horaria local y proporciona la marca de tiempo equivalente de la región deseada en formato UTC. En el ejemplo siguiente, la hora es las 2:40 p.m. en la zona horaria local del usuario. La zona horaria de Seúl que se pasa como variable está nueve horas por delante de la zona horaria local.
code language-sql |
---|
|
La consulta devuelve una marca de tiempo en formato UTC para la zona horaria pasada como parámetro. El resultado es nueve horas antes de la zona horaria que ejecutó la consulta.
code language-none |
---|
|
¿Cómo debo filtrar los datos de las series temporales?
accordion | |||||
---|---|---|---|---|---|
Respuesta | |||||
Cuando consulte con datos de series temporales, debe utilizar el filtro de marca de tiempo siempre que sea posible para realizar un análisis más preciso.
A continuación se puede ver un ejemplo de uso del filtro de marca de tiempo:
|
¿Cómo utilizo correctamente el operador CAST
para convertir mis marcas de tiempo en consultas SQL?
Cuando use el operador CAST
para convertir una marca de tiempo, debe incluir la fecha y la hora.
Por ejemplo, si falta el componente de tiempo, como se muestra a continuación, se producirá un error:
code language-sql |
---|
|
A continuación se muestra el uso correcto del operador CAST
:
code language-sql |
---|
|
¿Debería utilizar caracteres comodín, como *, para obtener todas las filas de mis conjuntos de datos?
¿Debería usar NOT IN
en mi consulta SQL?
El operador NOT IN
se utiliza a menudo para recuperar filas que no se encuentran en otra tabla o instrucción SQL. Este operador puede ralentizar el rendimiento y devolver resultados inesperados si las columnas que se comparan aceptan NOT NULL
o si tiene un gran número de registros.
En lugar de usar NOT IN
, puede usar NOT EXISTS
o LEFT OUTER JOIN
.
Por ejemplo, si ha creado las siguientes tablas:
code language-sql |
---|
|
Si está usando el operador NOT EXISTS
, puede replicar usando el operador NOT IN
con la siguiente consulta:
code language-sql |
---|
|
Alternativamente, si está utilizando el operador LEFT OUTER JOIN
, puede replicar utilizando el operador NOT IN
mediante la siguiente consulta:
code language-sql |
---|
|
¿Puedo crear un conjunto de datos utilizando una consulta CTAS con un nombre de guion bajo doble como los que se muestran en la interfaz de usuario? Por ejemplo: test_table_001
.
¿Cuántas consultas simultáneas se pueden ejecutar a la vez?
¿Hay un panel de actividad en el que pueda ver las actividades de consulta y el estado?
¿Hay alguna forma de revertir las actualizaciones? Por ejemplo, si hay un error o es necesario volver a configurar algunos cálculos al escribir datos en Platform, ¿cómo se debe gestionar ese escenario?
¿Cómo se pueden optimizar las consultas en Adobe Experience Platform?
El sistema no tiene índices, ya que no es una base de datos, pero tiene otras optimizaciones asociadas al almacén de datos. Las siguientes opciones están disponibles para ajustar las consultas:
- Un filtro basado en el tiempo en datos de series temporales.
- Inserción optimizada para el tipo de datos struct.
- Inserción optimizada de coste y memoria para cabinas y tipos de datos de asignación.
- Procesamiento incremental mediante instantáneas.
- Un formato de datos persistente.
¿Pueden los inicios de sesión restringirse a determinados aspectos del servicio de consultas o es una solución de "todo o nada"?
¿Puedo restringir qué datos puede utilizar el servicio de consulta de datos o simplemente accede a todo el lago de datos de Adobe Experience Platform?
¿Qué otras opciones hay para restringir los datos a los que puede acceder el servicio de consulta?
Existen tres métodos para restringir el acceso. Son las siguientes:
- Utilice instrucciones SELECT únicamente y proporcione acceso de solo lectura a los conjuntos de datos. Además, asigne el permiso de administración de consultas.
- Utilice las instrucciones SELECT/INSERT/CREATE y proporcione acceso de escritura a los conjuntos de datos. Además, asigne el permiso de administración de consultas.
- Utilice una cuenta de integración con las sugerencias anteriores y asigne el permiso de integración de consultas.
Una vez que el servicio de consulta devuelve los datos, ¿Platform puede ejecutar alguna comprobación para asegurarse de que no ha devuelto datos protegidos?
- El servicio de consultas admite el control de acceso basado en atributos. Puede restringir el acceso a los datos en el nivel de columna/hoja y/o en el nivel de estructura. Consulte la documentación para obtener más información sobre el control de acceso basado en atributos.
¿Puedo especificar un modo SSL para la conexión a un cliente de terceros? Por ejemplo, ¿puedo usar 'verify-full' con Power BI?
¿Utilizamos TLS 1.2 para todas las conexiones de clientes de Power BI al servicio de consultas?
¿Sigue usando https una conexión realizada en el puerto 80?
¿Puedo controlar el acceso a conjuntos de datos y columnas específicos para una conexión en particular? ¿Cómo se configura?
¿Query Service admite el comando "INSERT OVERWRITE INTO"?
¿Con qué frecuencia se actualizan los datos de uso en el tablero de uso de licencias para las horas calculadas de Data Distiller?
¿Puedo utilizar el comando CREATE VIEW sin acceso a Data Distiller?
CREATE VIEW
sin acceso a Data Distiller. Este comando proporciona una vista lógica de los datos, pero no los vuelve a escribir en el lago de datos.¿Puedo utilizar bloques anónimos en DbVisualizer?
Data Distiller data-distiller
¿Cómo se rastrea el uso de licencias de Data Distiller y dónde puedo ver esta información?
¿Qué es una Compute Hour?
¿Cómo se miden las horas calculadas?
¿Por qué a veces noto una variación en el consumo de hora calculado incluso cuando ejecuto la misma consulta consecutivamente?
¿Es normal notar una reducción en las horas calculadas cuando ejecuto la misma consulta utilizando los mismos datos durante un largo período de tiempo? ¿Por qué podría estar pasando esto?
IU de consultas
La opción "Crear consulta" se bloquea "Inicializando conexión…" al intentar conectarse al servicio de consultas. ¿Cómo puedo solucionar el problema?
Ejemplos de conjuntos de datos
¿Puedo crear muestras en un conjunto de datos del sistema?
Exportación de datos exporting-data
Esta sección proporciona información sobre la exportación de datos y límites.
¿Existe alguna forma de extraer datos del servicio de consulta después del procesamiento de la consulta y guardar los resultados en un archivo CSV? export-csv
Sí. Los datos se pueden extraer del servicio de consulta y también existe la opción de almacenar los resultados en formato CSV a través de un comando SQL.
Existen dos maneras de guardar los resultados de una consulta al utilizar un cliente SQL. Puede usar el comando COPY TO
o crear una instrucción con el siguiente formato:
code language-sql |
---|
|
Puede encontrar instrucciones sobre el uso del comando COPY TO
en la documentación de referencia de sintaxis SQL.
¿Puedo extraer el contenido del conjunto de datos final que se ha introducido a través de consultas CTAS (suponiendo que sean cantidades mayores de datos, como terabytes)?
¿Por qué el conector de datos de Analytics no devuelve datos?
Una causa común de este problema es la consulta de datos de series temporales sin un filtro de tiempo. Por ejemplo:
code language-sql |
---|
|
Debe escribirse como:
code language-sql |
---|
|
Sintaxis SQL
¿Data Distiller o Query Service admiten MERGE INTO?
Consultas de ITAS
¿Qué son las consultas ITAS?
Herramientas de terceros third-party-tools
Esta sección incluye información sobre el uso de herramientas de terceros como PSQL y Power BI.
¿Puedo conectar el servicio de consultas a una herramienta de terceros?
¿Existe alguna forma de conectar el servicio de consulta una vez para utilizarlo de forma continua con una herramienta de terceros?
¿Por qué las credenciales que no caducan no funcionan?
technicalAccountID
y credential
tomados del archivo JSON de configuración. El valor de contraseña adopta la forma: {{technicalAccountId}:{credential}}
.Consulte la documentación para obtener más información sobre cómo conectarse a clientes externos con credenciales.
¿Qué tipo de editores SQL de terceros puedo conectar al Editor de servicios de consulta?
¿Puedo conectar la herramienta de Power BI al servicio de consultas?
¿Por qué tardan mucho tiempo en cargarse los paneles al conectarse al servicio de consultas?
Cuando el sistema está conectado al servicio de consultas, se conecta a un motor de procesamiento interactivo o por lotes. Esto puede conllevar un mayor tiempo de carga para reflejar los datos procesados.
Si desea mejorar los tiempos de respuesta de sus paneles, debe implementar un servidor de Business Intelligence (BI) como capa de almacenamiento en caché entre el servicio de consultas y las herramientas de BI. Por lo general, la mayoría de las herramientas de BI tienen una oferta adicional para un servidor.
El propósito de añadir la capa del servidor de caché es almacenar en caché los datos del servicio de consulta y utilizar el mismo para los paneles a fin de acelerar la respuesta. Esto es posible ya que los resultados de las consultas que se ejecutan se almacenarían en caché en el servidor de BI todos los días. A continuación, el servidor de almacenamiento en caché proporciona estos resultados a cualquier usuario con la misma consulta para reducir la latencia. Consulte la documentación de la utilidad o herramienta de terceros que está utilizando para obtener más información sobre esta configuración.
¿Es posible acceder al servicio de consultas mediante la herramienta de conexión pgAdmin?
Errores de API de PostgreSQL postgresql-api-errors
La siguiente tabla proporciona códigos de error PSQL y sus posibles causas.
AuthenticationCleartextPassword
.CREATE TABLE
dbName
: compruebe dbName
¿Por qué recibí un código de error 58000 al usar el método history_meta() en mi tabla?
El método history_meta()
se usa para obtener acceso a una instantánea de un conjunto de datos. Anteriormente, si ejecutaba una consulta en un conjunto de datos vacío en Azure Data Lake Storage (ADLS), recibía un código de error 58000 que indicaba que el conjunto de datos no existe. A continuación se muestra un ejemplo del error del sistema antiguo.
code language-shell |
---|
|
Este error se produjo porque no había ningún valor devuelto para la consulta. Este comportamiento se ha corregido para devolver el siguiente mensaje:
code language-text |
---|
|
Errores de API de REST rest-api-errors
La siguiente tabla proporciona códigos de error HTTP y sus posibles causas.