Perguntas frequentes sobre o Serviço de consulta e o Data Distiller
Este documento responde a perguntas frequentes sobre o Serviço de consulta e o Data Distiller. Ele também inclui códigos de erro comuns ao usar o produto "Queries" para validação de dados ou gravar dados transformados de volta no data lake. Para perguntas e solução de problemas de outros serviços da Adobe Experience Platform, consulte o guia de solução de problemas do Experience Platform.
Para esclarecer como o Serviço de consulta e o Data Distiller trabalham juntos no Adobe Experience Platform, veja duas perguntas fundamentais.
Qual é a relação entre o Serviço de consulta e o Data Distiller?
O Serviço de consulta e o Data Distiller são componentes distintos e complementares que fornecem recursos específicos de consulta de dados. O Serviço de consulta foi projetado para consultas ad hoc para explorar, validar e experimentar dados assimilados sem alterar o data lake. Por outro lado, o Data Distiller se concentra em consultas em lote que transformam e enriquecem dados, com resultados armazenados no data lake para uso futuro. As consultas em lote no Data Distiller podem ser agendadas, monitoradas e gerenciadas, oferecendo suporte a processamento e manipulação de dados mais profundos que o Serviço de consulta sozinho não facilita.
Juntos, o Serviço de consulta facilita insights rápidos, enquanto o Data Distiller permite transformações contínuas e profundas de dados.
Qual é a diferença entre o Serviço de consulta e o Data Distiller?
Serviço de consulta: usado para consultas SQL focadas na exploração, validação e experimentação de dados. As saídas não são armazenadas no data lake e o tempo de execução é limitado a 10 minutos. Consultas ad hoc são adequadas para verificações e análises de dados leves e interativas.
Data Distiller: permite consultas em lote que processam, limpam e enriquecem dados, com resultados armazenados de volta no data lake. Essas consultas oferecem suporte para execução mais longa (até 24 horas) e recursos adicionais como agendamento, monitoramento e relatórios acelerados. O Data Distiller é ideal para a manipulação de dados detalhada e tarefas de processamento de dados programadas.
Consulte o documento de empacotamento do Serviço de Consulta para obter informações mais detalhadas.
Categorias de perguntas categories
A lista de respostas a seguir para perguntas frequentes está dividida nas seguintes categorias:
Perguntas gerais do Serviço de consulta general
Esta seção inclui informações sobre desempenho, limites e processos.
Posso desativar o recurso de preenchimento automático no Editor do serviço de consulta?
Por que o Editor de consultas às vezes fica lento quando digito uma consulta?
Posso usar Postman para a API do Serviço de consulta?
Há um limite para o número máximo de linhas retornadas de uma consulta por meio da interface do usuário?
Posso usar consultas para atualizar linhas?
Existe um limite de tamanho de dados para a saída resultante de um query?
Como ignorar o limite no número de saída de linhas de uma consulta SELECT?
Para ignorar o limite de linha de saída, aplique "LIMIT 0" na query. Por exemplo:
code language-sql |
---|
|
Como faço para impedir que minhas consultas expirem em 10 minutos?
Uma ou mais das seguintes soluções são recomendadas caso as consultas atinjam o tempo limite.
- Converta a consulta em uma consulta CTAS e agende a execução. O agendamento de uma execução pode ser feito por meio da interface ou da API.
- Execute a consulta em uma parte de dados menor aplicando condições de filtro adicionais.
- Execute o comando EXPLAIN para coletar mais detalhes.
- Revise as estatísticas dos dados no conjunto de dados.
- Converta a consulta em um formulário simplificado e execute novamente usando instruções preparadas.
Há algum problema ou impacto no desempenho do Serviço de consulta se várias consultas forem executadas simultaneamente?
Posso usar palavras-chave reservadas como nome de coluna?
ORDER
, GROUP BY
, WHERE
, DISTINCT
. Se quiser usar essas palavras-chave, você deve omitir essas colunas.Como faço para localizar um nome de coluna a partir de um conjunto de dados hierárquico?
As etapas a seguir descrevem como exibir uma visualização tabular de um conjunto de dados por meio da interface do usuário, incluindo todos os campos e colunas aninhados em um formulário nivelado.
- Depois de fazer logon no Experience Platform, selecione Conjuntos de dados na navegação à esquerda da interface para navegar até o painel Conjuntos de dados.
- A guia Procurar dos conjuntos de dados é aberta. Você pode usar a barra de pesquisa para refinar as opções disponíveis. Selecione um conjunto de dados na lista exibida.
- A tela Atividade de conjuntos de dados é exibida. Selecione Visualizar conjunto de dados para abrir uma caixa de diálogo do esquema XDM e a exibição em tabela dos dados nivelados do conjunto de dados selecionado. Mais detalhes podem ser encontrados na pré-visualização da documentação de um conjunto de dados
- Selecione qualquer campo do esquema para exibir seu conteúdo em uma coluna plana. O nome da coluna é exibido acima do conteúdo no lado direito da página. Você deve copiar esse nome para usar ao consultar esse conjunto de dados.
Consulte a documentação para obter orientação completa sobre como trabalhar com estruturas de dados aninhadas usando o Editor de consultas ou um cliente de terceiros.
Como acelerar um query em um conjunto de dados que contém arrays?
Por que minha consulta CTAS ainda está processando depois de muitas horas para apenas um pequeno número de linhas?
Se o query tiver demorado muito tempo em um conjunto de dados muito pequeno, entre em contato com o suporte ao cliente.
Pode haver vários motivos para uma consulta ficar paralisada durante o processamento. Determinar a causa exata requer uma análise detalhada caso a caso. Contate o atendimento ao cliente do Adobe para executar esse processo.
Como entrar em contato com o suporte ao cliente do Adobe? customer-support
Uma lista completa dos números de telefone de suporte ao cliente do Adobe está disponível na página de ajuda do Adobe. Como alternativa, a ajuda pode ser encontrada online executando as seguintes etapas:
- Navegue até https://www.adobe.com/ no navegador da Web.
- No lado direito da barra de navegação superior, selecione Entrar.
- Use sua Adobe ID e senha registradas com sua licença do Adobe.
- Selecione Ajuda e Suporte na barra de navegação superior.
Um banner suspenso é exibido contendo uma seção de Ajuda e suporte. Selecione Contate-nos para abrir o Adobe Customer Care Virtual Assistant ou selecione Suporte corporativo para obter ajuda dedicada para organizações grandes.
Como implementar uma série sequencial de jobs sem executar jobs subsequentes se o job anterior não for concluído com sucesso?
O recurso de bloqueio anônimo permite encadear uma ou mais instruções SQL que são executadas em sequência. Permitem também a opção de tratamento de exceções.
Consulte a documentação de bloqueio anônimo para obter mais detalhes.
Como implementar a atribuição personalizada no Serviço de consulta?
Há duas maneiras de implementar a atribuição personalizada:
- Use uma combinação de funções definidas por Adobe existentes para identificar se as necessidades de caso de uso foram atendidas.
- Se a sugestão anterior não atender ao seu caso de uso, você deverá usar uma combinação de funções de janela. As funções de janela observam todos os eventos em uma sequência. Elas também permitem que você analise os dados do histórico e podem ser usados em qualquer combinação.
Posso modelar minhas consultas para reutilizá-las facilmente?
Como faço para recuperar logs de erros de uma consulta? error-logs
Para recuperar logs de erros de uma consulta específica, primeiro use a API do Serviço de Consulta para obter os detalhes do log de consultas. A resposta HTTP contém as IDs de consulta necessárias para investigar um erro de consulta.
Use o comando GET para recuperar várias consultas. Informações sobre como fazer uma chamada para a API podem ser encontradas na documentação de exemplos de chamadas para a API.
Na resposta, identifique a consulta que deseja investigar e faça outra solicitação GET usando seu valor id
. Instruções completas podem ser encontradas na documentação de recuperação de uma consulta por ID.
Uma resposta bem-sucedida retorna o status HTTP 200 e contém a matriz errors
. A resposta foi encurtada por questões de brevidade.
code language-json |
---|
|
A documentação de referência da API de Serviço de Consulta fornece mais informações sobre todos os pontos de extremidade disponíveis.
O que significa "Erro ao validar o esquema"?
A mensagem "Error validating schema" significa que o sistema não consegue localizar um campo dentro do esquema. Você deve ler o documento de práticas recomendadas para organizar ativos de dados no Serviço de consulta seguido pela documentação Criar tabela como seleção.
O exemplo a seguir demonstra o uso de uma sintaxe CTAS e um tipo de dados struct:
code language-sql |
---|
|
Como posso processar rapidamente os novos dados que entram no sistema todos os dias?
SNAPSHOT
pode ser usada para ler incrementalmente dados em uma tabela com base em uma ID de instantâneo. Isso é ideal para uso com o padrão de design carga incremental que processa somente informações no conjunto de dados que foi criado ou modificado desde a última execução de carregamento. Como resultado, aumenta a eficiência do processamento e pode ser usado com processamento de dados em lote e de transmissão.Por que há uma diferença entre os números mostrados na interface do usuário do perfil e os números calculados do conjunto de dados de exportação de perfil?
Os números exibidos no painel do perfil são precisos a partir do último instantâneo. Os números gerados na tabela de exportação de perfis dependem totalmente da consulta de exportação. Como resultado, consultar o número de perfis qualificados para um público específico é uma causa comum para essa discrepância.
note note |
---|
NOTE |
A consulta inclui dados históricos, enquanto a interface do usuário exibe somente os dados do perfil atual. |
Por que minha consulta retornou um subconjunto vazio e o que devo fazer?
A causa mais provável é que sua consulta tenha um escopo muito estreito. Você deve remover sistematicamente uma seção da cláusula WHERE
até começar a ver alguns dados.
Você também pode confirmar que seu conjunto de dados contém dados usando uma pequena consulta como:
code language-sql |
---|
|
Posso obter amostras dos meus dados?
Quais funções auxiliares são compatíveis com o Serviço de consulta?
Há suporte para todas as funções Spark SQL nativas ou os usuários estão restritos apenas às funções Spark SQL do invólucro fornecidas pelo Adobe?
Os usuários podem definir suas próprias funções definidas pelo usuário (UDF) que podem ser usadas em outras consultas?
O que devo fazer se minha consulta programada falhar?
Primeiro, verifique os logs para descobrir os detalhes do erro. A seção de perguntas frequentes sobre como encontrar erros nos logs fornece mais informações sobre como fazer isso.
Você também deve consultar a documentação para obter orientações sobre como executar consultas agendadas na interface e por meio da API.
Esteja ciente de que, ao usar o Query Editor, você só pode adicionar um agendamento a uma consulta que já foi criada e salva. Isso não se aplica à API Query Service.
O que significa o erro "Limite de sessão atingido"?
Como o log de consultas lida com consultas relacionadas a um conjunto de dados excluído?
Como posso obter somente os metadados de um query?
Você pode executar uma consulta que retorna zero linhas para obter apenas os metadados na resposta. Este exemplo de consulta retorna somente os metadados da tabela especificada.
code language-sql |
---|
|
Como posso iterar rapidamente em uma consulta CTAS (Create Table As Select) sem materializá-la?
Você pode criar tabelas temporárias para iterar e experimentar rapidamente uma consulta antes de materializá-la para uso. Você também pode usar tabelas temporárias para validar se uma consulta está funcional.
Por exemplo, você pode criar uma tabela temporária:
code language-sql |
---|
|
Em seguida, você pode usar a tabela temporária da seguinte maneira:
code language-sql |
---|
|
Como alterar o fuso horário de e para um Carimbo de data e hora UTC?
O Adobe Experience Platform mantém os dados no formato de carimbo de data e hora UTC (Tempo universal coordenado). Um exemplo do formato UTC é 2021-12-22T19:52:05Z
O Serviço de consulta oferece suporte a funções SQL integradas para converter um determinado carimbo de data/hora de e para o formato UTC. Os métodos to_utc_timestamp()
e from_utc_timestamp()
usam dois parâmetros: carimbo de data/hora e fuso horário.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Parâmetro | Descrição |
Carimbo de data e hora | O carimbo de data/hora pode ser gravado no formato UTC ou no formato simples {year-month-day} . Se nenhuma hora for fornecida, o valor padrão será a meia-noite da manhã de um determinado dia. |
Fuso Horário | O fuso horário é gravado no formato {continent/city}) . Deve ser um dos códigos de fuso horário reconhecidos encontrados no banco de dados TZ de domínio público. |
Converter para o carimbo de data e hora UTC
O método to_utc_timestamp()
interpreta os parâmetros fornecidos e os converte no carimbo de data/hora de seu fuso horário local no formato UTC. Por exemplo, o fuso horário em Seul, Coreia do Sul é UTC/GMT +9 horas. Ao fornecer um carimbo de data e hora somente, o método usa um valor padrão de meia-noite da manhã. O carimbo de data e hora e o fuso horário são convertidos no formato UTC da hora dessa região para um carimbo de data e hora UTC de sua região local.
code language-sql |
---|
|
A consulta retorna um carimbo de data e hora no horário local do usuário. Neste caso, às 15h do dia anterior, enquanto Seul está nove horas à frente.
code language-none |
---|
|
Como outro exemplo, se o carimbo de data/hora fornecido fosse 2021-07-14 12:40:00.0
para o fuso horário Asia/Seoul
, o carimbo de data/hora UTC retornado seria 2021-07-14 03:40:00.0
A saída do console fornecida na interface do Serviço de consulta é um formato mais legível:
code language-none |
---|
|
Converter do carimbo de data e hora UTC
O método from_utc_timestamp()
interpreta os parâmetros fornecidos a partir do carimbo de data/hora de seu fuso horário local e fornece o carimbo de data/hora equivalente da região desejada no formato UTC. No exemplo abaixo, a hora é 14h40 no fuso horário local do usuário. O fuso horário de Seul transmitido como uma variável está nove horas à frente do fuso horário local.
code language-sql |
---|
|
A consulta retorna um carimbo de data e hora no formato UTC do fuso horário passado como parâmetro. O resultado é nove horas antes do fuso horário que executou a consulta.
code language-none |
---|
|
Como devo filtrar meus dados de série temporal?
accordion | |||||
---|---|---|---|---|---|
Resposta | |||||
Ao consultar com dados de série temporal, você deve usar o filtro de carimbo de data e hora sempre que possível para uma análise mais precisa.
Um exemplo de uso do filtro de carimbo de data e hora pode ser visto abaixo:
|
Como faço para usar corretamente o operador CAST
para converter meus carimbos de data e hora em consultas SQL?
Ao usar o operador CAST
para converter um carimbo de data/hora, você precisa incluir a data e a hora.
Por exemplo, a falta do componente de tempo, como mostrado abaixo, resultará em um erro:
code language-sql |
---|
|
O uso correto do operador CAST
é mostrado abaixo:
code language-sql |
---|
|
Devo usar curingas, como *, para obter todas as linhas dos meus conjuntos de dados?
Devo usar NOT IN
na minha consulta SQL?
O operador NOT IN
é frequentemente usado para recuperar linhas que não são encontradas em outra tabela ou instrução SQL. Este operador pode retardar o desempenho e retornar resultados inesperados se as colunas que estão sendo comparadas aceitarem NOT NULL
ou se você tiver um grande número de registros.
Em vez de usar NOT IN
, você pode usar NOT EXISTS
ou LEFT OUTER JOIN
.
Por exemplo, se você tiver as seguintes tabelas criadas:
code language-sql |
---|
|
Se você estiver usando o operador NOT EXISTS
, é possível replicar usando o operador NOT IN
com a seguinte consulta:
code language-sql |
---|
|
Como alternativa, se você estiver usando o operador LEFT OUTER JOIN
, é possível replicar usando o operador NOT IN
usando a seguinte consulta:
code language-sql |
---|
|
Posso criar um conjunto de dados usando uma consulta CTAS com um nome de sublinhado duplo como aqueles exibidos na interface? Por exemplo: test_table_001
.
Quantas consultas simultâneas você pode executar de cada vez?
Existe um painel de atividades onde você pode ver as atividades de consulta e o status?
Há alguma maneira de reverter as atualizações? Por exemplo, se houver um erro ou alguns cálculos precisarem ser reconfigurados ao gravar dados na Platform, como esse cenário deve ser tratado?
Como você pode otimizar consultas no Adobe Experience Platform?
O sistema não tem índices, pois não é um banco de dados, mas tem outras otimizações em vigor vinculadas ao armazenamento de dados. As seguintes opções estão disponíveis para ajustar as consultas:
- Um filtro com base no tempo em dados de série temporal.
- Forçamento otimizado para o tipo de dados struct.
- Custo otimizado e redução de memória para arrays e tipos de dados de mapa.
- Processamento incremental usando instantâneos.
- Um formato de dados persistente.
Os logons podem ser restritos a certos aspectos do Serviço de consulta ou é uma solução "tudo ou nada"?
Posso restringir quais dados o Serviço de consulta pode usar ou ele simplesmente acessa todo o data lake da Adobe Experience Platform?
Quais outras opções existem para restringir os dados que o Serviço de consulta pode acessar?
Há três abordagens para restringir o acesso. Elas são as seguintes:
- Use instruções somente SELECT e conceda acesso somente leitura aos conjuntos de dados. Além disso, atribua a permissão gerenciar consulta.
- Use as instruções SELECT/INSERT/CREATE e conceda acesso de gravação aos conjuntos de dados. Além disso, atribua a permissão de gerenciamento de consulta.
- Use uma conta de integração com as sugestões anteriores acima e atribua a permissão de integração de consulta.
Depois que os dados forem retornados pelo Serviço de consulta, há verificações que podem ser executadas pela Plataforma para garantir que ela não tenha retornado dados protegidos?
- O Serviço de consulta oferece suporte ao controle de acesso baseado em atributos. Você pode restringir o acesso aos dados no nível da coluna/folha e/ou no nível da estrutura. Consulte a documentação para saber mais sobre o controle de acesso baseado em atributos.
Posso especificar um modo SSL para a conexão com um cliente de terceiros? Por exemplo, posso usar "verify-full" com o Power BI?
Usamos o TLS 1.2 para todas as conexões de clientes Power BI com o serviço de consulta?
Uma conexão feita na porta 80 ainda usa https?
Posso controlar o acesso a conjuntos de dados e colunas específicos para uma conexão específica? Como isso é configurado?
O Serviço de consulta suporta o comando "INSERT OVERWRITE INTO"?
Com que frequência os dados de uso no painel de uso de licença são atualizados para o Data Distiller Compute Hours?
Posso usar o comando CREATE VIEW sem acesso ao Data Distiller?
CREATE VIEW
sem acesso ao Data Distiller. Esse comando fornece uma exibição lógica dos dados, mas não os grava no data lake.Posso usar blocos anônimos no DbVisualizer?
Destilador de dados data-distiller
Como o uso de licença da Data Distiller é rastreado e onde posso ver essas informações?
O que é uma hora de computação?
Como são medidas as horas de computação?
Por que às vezes noto uma variação no consumo de Horas de computação mesmo quando executo a mesma consulta consecutivamente?
É normal notar uma redução nas Horas de computação quando executo a mesma consulta usando os mesmos dados por um longo período de tempo? Por que isso pode estar acontecendo?
Interface de consultas
O "Criar consulta" está travado "Inicializando conexão…" ao tentar se conectar ao Serviço de consulta. Como corrijo o problema?
Amostras de conjunto de dados
Posso criar amostras em um conjunto de dados do sistema?
Exportação de dados exporting-data
Esta seção fornece informações sobre exportação de dados e limites.
Existe uma maneira de extrair dados do Serviço de consulta após o processamento da consulta e salvar os resultados em um arquivo CSV? export-csv
Sim. Os dados podem ser extraídos do Serviço de consulta, e também há a opção de armazenar os resultados no formato CSV por meio de um comando SQL.
Há duas maneiras de salvar os resultados de uma consulta ao usar um cliente PSQL. Você pode usar o comando COPY TO
ou criar uma instrução usando o seguinte formato:
code language-sql |
---|
|
Orientação sobre o uso do comando COPY TO
pode ser encontrada na documentação de referência da sintaxe SQL.
Posso extrair o conteúdo do conjunto de dados final que foi assimilado por meio de queries CTAS (supondo que sejam quantidades maiores de dados, como Terabytes)?
Por que o conector de dados do Analytics não retorna dados?
Uma causa comum desse problema é a consulta de dados de série temporal sem um filtro de tempo. Por exemplo:
code language-sql |
---|
|
Deve ser escrito como:
code language-sql |
---|
|
Sintaxe SQL
MERGE INTO é compatível com o Data Distiller ou o Serviço de consulta?
Consultas ITAS
O que são consultas de ITAS?
Ferramentas de terceiros third-party-tools
Esta seção inclui informações sobre o uso de ferramentas de terceiros, como PSQL e Power BI.
Posso conectar o Serviço de consulta a uma ferramenta de terceiros?
Há uma maneira de conectar o Serviço de consulta uma vez para uso contínuo com uma ferramenta de terceiros?
Por que minhas credenciais sem expiração não estão funcionando?
technicalAccountID
e credential
retirados do arquivo JSON de configuração. O valor da senha tem o formato: {{technicalAccountId}:{credential}}
.Consulte a documentação para obter mais informações sobre como conectar-se a clientes externos com credenciais.
Que tipo de editores SQL de terceiros posso conectar ao Editor de serviço de consulta?
Posso conectar a ferramenta Power BI ao Serviço de consulta?
Por que os painéis demoram muito para carregar quando conectados ao Serviço de consulta?
Quando o sistema está conectado ao Serviço de consulta, ele é conectado a um mecanismo de processamento interativo ou em lote. Isso pode resultar em tempos de carregamento mais longos para refletir os dados processados.
Se quiser melhorar os tempos de resposta dos painéis, implemente um servidor de Business Intelligence (BI) como uma camada de cache entre o Serviço de consulta e as ferramentas de BI. Geralmente, a maioria das ferramentas de BI tem uma oferta adicional para um servidor.
A finalidade de adicionar a camada do servidor de cache é armazenar os dados em cache do Serviço de consulta e utilizar os mesmos para que os painéis acelerem a resposta. Isso é possível, pois os resultados das consultas executadas seriam armazenados em cache no servidor de BI todos os dias. O servidor de cache fornece esses resultados para qualquer usuário com a mesma consulta para diminuir a latência. Consulte a documentação do utilitário ou ferramenta de terceiros que você está usando para obter esclarecimentos sobre esta configuração.
É possível acessar o Serviço de consulta usando a ferramenta de conexão pgAdmin?
Erros de API PostgreSQL postgresql-api-errors
A tabela a seguir fornece códigos de erro PSQL e suas possíveis causas.
AuthenticationCleartextPassword
.CREATE TABLE
dbName
: verifique o dbName
Por que recebi um código de erro 58000 ao usar o método history_meta() na tabela?
O método history_meta()
é usado para acessar um instantâneo de um conjunto de dados. Anteriormente, se você executasse uma consulta em um conjunto de dados vazio no Azure Data Lake Storage (ADLS), receberia um código de erro 58000 informando que o conjunto de dados não existe. Um exemplo do erro de sistema antigo é exibido abaixo.
code language-shell |
---|
|
Este erro ocorreu porque não havia valor de retorno para a consulta. Esse comportamento foi corrigido para retornar a seguinte mensagem:
code language-text |
---|
|
Erros de REST API rest-api-errors
A tabela a seguir fornece códigos de erro HTTP e suas possíveis causas.