A camada de modelagem semântica do LookML do Looker permite a um analista de dados definir dimensões, agregados, cálculos e relações de dados numa base de dados SQL. Os modelos do LookML oferecem reutilização de código e integração do Git. Um modelo LookML bem estruturado permite aos utilizadores fazer a sua própria exploração e relatórios de dados self-service.
O modelo LookML é a base de todos os dados pedidos ao Looker, quer esse pedido seja feito a partir da interface de exploração do Looker na IU do Looker, de uma visualização incorporada no portal da sua empresa ou noutra aplicação de terceiros, ou de uma aplicação personalizada que foi desenvolvida com a API do Looker. A interface SQL aberta fornece acesso aos modelos do LookML a qualquer aplicação de terceiros que suporte a Java Database Connectivity (JDBC). As aplicações podem estabelecer ligação a um modelo do LookML como se fosse uma base de dados, o que permite aos utilizadores tirar partido de todo o trabalho realizado pelos respetivos analistas de dados no modelo do LookML, ao mesmo tempo que usam as ferramentas com as quais se sentem mais confortáveis.
Como a interface SQL aberta apresenta elementos do projeto LookML
Para compreender como a interface SQL aberta apresenta os elementos de um projeto LookML, é importante compreender como os projetos LookML estão estruturados.
Um projeto do LookML é uma coleção de ficheiros que descrevem os objetos, as ligações da base de dados e os elementos da interface do utilizador que são usados para fazer consultas SQL no Looker (consulte os termos e os conceitos do LookML para mais informações). Os seguintes conceitos de projetos do LookML estão relacionados com a interface SQL aberta:
- Um modelo do LookML especifica uma ligação da base de dados e uma ou mais explorações. A interface SQL aberta apresenta os modelos como esquemas de base de dados.
- Uma exploração é um agrupamento lógico de uma ou mais visualizações de propriedades e as relações de junção entre essas visualizações de propriedades. A interface SQL aberta apresenta as explorações como tabelas de base de dados.
- Uma vista define uma coleção de campos (dimensões e medidas). Geralmente, uma vista baseia-se numa tabela na sua base de dados ou numa tabela derivada. As vistas podem conter as colunas da tabela da base de dados subjacente, bem como quaisquer dimensões ou medidas personalizadas que os utilizadores finais possam precisar. A interface SQL aberta apresenta a combinação de um nome de visualização e um nome de campo como um nome de coluna da base de dados. Por exemplo, a dimensão
id
na vistaorder_items
é apresentada pela interface SQL aberta como uma coluna da base de dados denominadaorder_items.id
.
Uma exploração do Looker pode definir relações de junção entre várias visualizações. Uma vez que é possível que uma vista tenha um campo com o mesmo nome que um campo numa vista diferente, a interface SQL aberta inclui o nome da vista e o nome do campo quando faz referência a uma coluna. Por conseguinte, use este formato para fazer referência a um nome de coluna quando enviar consultas para a interface SQL aberta:
`<view_name>.<field_name>`
Por exemplo, se existir uma exploração denominada order_items
que junta uma vista denominada customer
com uma vista denominada product
e ambas as vistas tiverem uma dimensão id
, refere-se aos dois campos id
como `customer.id`
e `product.id`
, respetivamente. Para usar o nome completo com o nome do Explorar também, refere-se aos dois campos como `order_items`.`customer.id`
e `order_items`.`product.id`
. (Consulte o artigo Use acentos graves em torno dos identificadores de bases de dados para obter informações sobre onde colocar os acentos graves quando se refere a identificadores de bases de dados.)
Configurar a interface Open SQL
Para usar a interface SQL aberta, siga estes passos:
- Verifique se os requisitos estão cumpridos.
- Transfira o ficheiro do controlador JDBC da interface SQL aberta.
As secções seguintes descrevem estes passos.
Requisitos
Os seguintes componentes são necessários para usar a interface SQL aberta:
- A aplicação de terceiros que quer usar (como o Tableau, o ThoughtSpot ou uma aplicação personalizada) tem de conseguir estabelecer ligação à sua instância do Looker. A interface SQL aberta pode ser usada com instâncias do Looker alojadas pelo cliente, desde que a instância do Looker esteja em rede de forma a permitir que a aplicação de terceiros aceda à instância do Looker.
- Um projeto do LookML que usa dados de uma ligação do Google BigQuery. (O projeto do LookML tem de ter um ficheiro de modelo que especifique uma ligação do Google BigQuery no respetivo parâmetro
connection
.) - Uma função de utilizador do Looker que inclua a autorização
explore
no modelo LookML ao qual quer aceder com a interface SQL aberta.
Transfira o controlador JDBC da interface SQL aberta
O controlador JDBC da interface SQL aberta do Looker chama-se avatica-<release_number>-looker.jar
. Transfira a versão mais recente do GitHub em https://github.com/looker-open-source/calcite-avatica/releases.
O controlador JDBC espera o seguinte formato de URL:
jdbc:looker:url=https://Looker instance URL
Por exemplo:
jdbc:looker:url=https://myInstance.cloud.looker.com
A classe do controlador JDBC é:
org.apache.calcite.avatica.remote.looker.LookerDriver
Autenticação na interface SQL aberta
A interface SQL aberta suporta três métodos de autenticação:
OAuth
Os clientes JDBC que suportam o OAuth podem ser configurados para usar o servidor OAuth de uma instância do Looker. Siga os passos para configurar a autenticação OAuth:
- Use a extensão API Explorer para registar o cliente OAuth JDBC na sua instância do Looker, para que a instância do Looker possa reconhecer pedidos OAuth. Consulte o artigo Registar uma aplicação cliente OAuth para ver instruções.
- Inicie sessão no Looker com o OAuth para pedir uma chave de acesso. Consulte o artigo Realizar o início de sessão do utilizador através do OAuth para ver um exemplo.
- Use um objeto Properties para transmitir as credenciais OAuth quando abrir a ligação JDBC à interface Open SQL.
Segue-se um exemplo que usa DriverManager#getConnection(<String>, <Properties>
`):
String access_token = getAccessToken() //uses the Looker OAuth flow to get a token
String URL = "jdbc:looker:url=https://myInstance.cloud.looker.com"
Properties info = new Properties( );
info.put("token", access_token);
Connection conn = DriverManager.getConnection(URL, info);
Gerar um token de acesso através de chaves da API
Em vez de usar o fluxo OAuth padrão para gerar um token de acesso, pode seguir estes passos para usar a API Looker para gerar um token de acesso que pode ser transmitido ao controlador JDBC da interface SQL aberta:
- Gere chaves de API para o seu utilizador do Looker, conforme descrito na página Definições de administração – Utilizadores.
Use o ponto final da API
login
para a sua instância do Looker. A resposta inclui um token de acesso no formatoAuthorization: token <access_token>
. Segue-se um exemplo do comando curl que pode usar para fazer este pedido:curl -k -d "client_id=<client_id>&client_secret=<client_secret>" https://<looker_host>/login\
Transmita o valor
<access_token>
da resposta como o token no objeto Properties para transmitir as credenciais OAuth quando abrir a ligação JDBC à interface SQL aberta.
Chaves da API
Também pode usar chaves da API para autenticar em vez de um nome de utilizador e uma palavra-passe. As chaves da API são consideradas menos seguras do que o OAuth e podem só estar disponíveis durante a pré-visualização da interface SQL aberta. Consulte o artigo Chaves da API para obter informações sobre como criar chaves da API para a sua instância do Looker.
Use a parte do ID de cliente da chave da API Looker como nome de utilizador. Use a parte Client Secret para a palavra-passe.
Executar consultas com a interface SQL aberta
Tenha em atenção as seguintes diretrizes quando executar consultas com a interface SQL aberta:
- A interface SQL aberta aceita consultas SQL que seguem a sintaxe do GoogleSQL.
- A interface SQL aberta requer acentos graves (`) em torno dos identificadores de modelos, explorações e campos. Consulte o artigo Use acentos graves em torno dos identificadores de bases de dados para ver informações e exemplos adicionais.
- A interface SQL aberta suporta a maioria dos operadores do BigQuery.
- Com a interface SQL aberta, tem de designar todas as medidas do LookML incluídas numa consulta ao envolver a medida (incluindo acentos graves) na função especial
AGGREGATE()
. Consulte a secção Especifique medidas do LookML comAGGREGATE()
.
Limitações de SQL
Tenha em atenção as seguintes limitações de SQL ao enviar consultas para a interface SQL aberta:
- A interface Open SQL suporta apenas consultas
SELECT
. A interface SQL aberta não suporta declaraçõesUPDATE
eDELETE
, nem quaisquer outras declarações de linguagem de definição de dados (LDD), linguagem de manipulação de dados (LMD) ou linguagem de controlo de dados (LCD). - A interface SQL aberta não suporta o operador
JOIN
.- Não pode enviar uma consulta com o operador
JOIN
à interface SQL aberta para criar junções na mesma opção Explorar ou em duas opções Explorar diferentes. - Se quiser criar uma junção entre duas tabelas na sua base de dados, pode fazê-lo no modelo do LookML criando junções a uma ou mais vistas numa definição de Explorar num ficheiro de modelo no seu projeto do LookML.
- Não pode enviar uma consulta com o operador
- A interface Open SQL não suporta chamadas de funções de janela.
- A interface Open SQL não suporta subconsultas.
- A interface SQL aberta não suporta a conversão de fuso horário. As datas/horas no modelo LookML têm o tipo
DATETIME
no fuso horário definido nas suas definições (definições de fuso horário do utilizador, fuso horário da aplicação ou fuso horário da base de dados). - A interface SQL aberta não suporta os tipos de dados do BigQuery geography, JSON e time.
Use acentos graves em torno dos identificadores da base de dados
Quando enviar consultas para a interface SQL aberta, use acentos graves à volta dos identificadores de esquemas, tabelas e colunas. Veja como especificar elementos da base de dados usando acentos graves com termos do Looker:
- esquema:
`<model_name>`
- tabela:
`<explore_name>`
coluna:
`<view_name>.<field_name>`
Segue-se um exemplo do formato de declaração SELECT
com estes elementos:
SELECT `view.field`
FROM `model`.`explore`
LIMIT 10;
Especifique medidas do LookML com AGGREGATE()
Normalmente, as tabelas de base de dados contêm apenas dimensões, dados que descrevem um único atributo sobre uma linha na tabela. No entanto, os projetos do LookML podem definir dimensões e medidas. Uma medida é uma agregação de dados em várias linhas, como SUM
, AVG
, MIN
ou MAX
. (Também são suportados outros tipos de medidas. Consulte a página Tipos de medidas para ver a lista completa dos tipos de medidas LookML suportados.)
Com a interface SQL aberta, tem de designar todas as medidas do LookML incluídas numa consulta ao envolver a medida (incluindo acentos graves) na função especial AGGREGATE()
. Por exemplo, use isto para especificar a medida count da vista orders:
AGGREGATE(`orders.count`)
Tem de incluir as medidas do LookML na função AGGREGATE()
, quer a medida esteja numa cláusula SELECT
, numa cláusula HAVING
ou numa cláusula ORDER BY
.
Se não tiver a certeza de que um campo é uma medida do LookML, pode usar o método DatabaseMetaData.getColumns
para aceder aos metadados do projeto do LookML. A coluna IS_GENERATEDCOLUMN
indica YES
para quaisquer medidas do LookML e NO
para dimensões do LookML. Consulte a secção Aceder aos metadados da base de dados para mais informações.
Especifique parâmetros e campos apenas de filtragem com JSON_OBJECT
A interface SQL aberta suporta parâmetros e campos apenas de filtragem.
Quando executa consultas com a interface SQL aberta, pode aplicar parâmetros e campos apenas de filtragem à consulta incluindo uma chamada de construtor JSON_OBJECT
com o seguinte formato:
JSON_OBJECT(
'<view>.<parameter name>', '<parameter value>',
'<view>.<filter name>', '<Looker filter expression>'
)
O objeto JSON pode conter zero ou mais pares de chave-valor de filtro e zero ou mais pares de chave-valor de parâmetros.
- A chave no construtor
JSON_OBJECT
tem de ser o nome de um campo ou um parâmetro apenas de filtragem. - Para campos apenas de filtragem, o valor de cada chave tem de ser uma expressão de filtro de string do Looker.
- Para os parâmetros, o valor de cada chave tem de ser um valor simples definido na definição
parameter
.
Consulte as secções seguintes para ver exemplos de utilização de parâmetros e campos apenas de filtragem com a interface SQL aberta.
Exemplo de parâmetro
Por exemplo, para usar um parameter
com a interface SQL aberta, se a vista customers
tiver um parâmetro definido no Looker da seguinte forma:
parameter: segment {
type: string
allowed_value: {
label: "Small (less than 500)"
value: "small_customers"
}
allowed_value: {
label: "Larger (greater than 10,000)"
value: "large_customers"
}
allowed_value: {
label: "Medium customers (Between 500 and 10,000)"
value: "medium_customers"
}
}
Pode enviar esta consulta para a interface SQL aberta para aplicar o valor do parâmetro segment
de medium_customers
à consulta:
SELECT `customers.segment_size`,
AGGREGATE(`orders.total_amount`)
FROM `ecommerce`.`orders`(JSON_OBJECT(
'customers.segment', 'medium_customers'
))
GROUP BY `customers.state`, `customers.city`
HAVING AGGREGATE(`orders.count`) > 10
ORDER BY 3 DESC LIMIT 5;
A interface SQL aberta transmite este valor do parâmetro para a consulta no Looker, e o Looker aplica o valor medium_customers
a todos os campos na análise detalhada configurados para usar o parâmetro segment
. Consulte a documentação parameter
para obter informações sobre como os parâmetros funcionam no Looker.
Exemplo de campo apenas de filtro
Pode usar um campo filter
com a interface SQL aberta. Por exemplo, se uma visualização de propriedade products
tiver uma dimensão e um campo apenas de filtragem definidos no Looker da seguinte forma:
filter: brand_select {
type: string
}
dimension: brand_comparitor {
sql:
CASE
WHEN {% condition brand_select %} ${products.brand_name} {% endcondition %}
THEN ${products.brand_name}
ELSE "All Other Brands"
END ;;
}
Pode usar o filtro brand_select
com a interface SQL aberta enviando uma consulta como a seguinte:
SELECT `products.brand_comparator`, `products.number_of_brands`,
AGGREGATE(`products.total_revenue`)
FROM `ecommerce`.`orders`(JSON_OBJECT(
'products.brand_select', '%Santa Cruz%'
))
GROUP BY `products.brand_comparator`
ORDER BY 3 DESC LIMIT 5;
A interface SQL aberta aplica a expressão de filtro de string do Looker %Santa Cruz%
à consulta no Looker. Consulte a documentação filter
para ver informações sobre o funcionamento dos campos apenas de filtragem no Looker.
Indique valores always_filter
ou conditionally_filter
numa cláusula WHERE
ou HAVING
A interface SQL aberta pode suportar uma exploração que tenha always_filter
ou conditionally_filter
, mas não ambas.
Se tiver definido a sua análise detalhada do LookML com always_filter
ou conditionally_filter
, tem de transmitir valores para os campos de filtro na sua consulta SQL à interface SQL aberta:
- Se a definição do filtro especificar uma ou mais dimensões, tem de incluir uma cláusula
WHERE
na sua consulta SQL para cada uma das dimensões do filtro. - Se a definição do filtro especificar uma ou mais métricas, tem de incluir uma cláusula
HAVING
na sua consulta SQL para cada uma das métricas do filtro.
Por exemplo, existe um faa
modelo no qual definiu uma exploração do LookML flights
com um parâmetro always_filter
que especifica as dimensões country
e aircraft_category
e a medida count
, da seguinte forma:
explore: flights {
view_name: flights
always_filter: {
filters: [country : "Peru" , aircraft_category : "Airplane", count : ">1"]
}
}
Na sua consulta à interface SQL aberta, tem de usar uma cláusula WHERE
para transmitir valores para as dimensões de filtro e uma cláusula HAVING
para transmitir um valor para o filtro de medida ao seu modelo LookML, como o seguinte:
SELECT
`flights.make`
FROM
`faa`.`flights`
WHERE `flights.country` = 'Ecuador' AND `flights.aircraft_category` = 'Airplane'
GROUP BY
1
HAVING `flights.count` > 2)
LIMIT 5
Se não transmitir valores de filtro para cada uma das dimensões e medidas especificadas no parâmetro always_filter
, a consulta devolve um erro. O mesmo se aplica às dimensões e medidas especificadas num parâmetro conditionally_filter
, exceto que pode definir um parâmetro conditionally_filter
com um subparâmetro unless
, da seguinte forma:
explore: flights {
view_name: flights
conditionally_filter: {
filters: [country : "Peru" , aircraft_category : "Airplane"]
unless: [count]
}
}
Neste caso, tem de transmitir um valor de filtro para cada uma das dimensões e medidas especificadas no subparâmetro filters
de conditionally_filter
, a menos que especifique um filtro num campo no subparâmetro unless
. (Consulte a página de documentação conditionally_filter
para ver detalhes sobre a utilização do subparâmetro unless
.)
Por exemplo, qualquer uma das seguintes consultas à interface SQL aberta seria aceitável. A primeira consulta fornece valores de filtro para os campos especificados no subparâmetro filters
, e a segunda consulta fornece um valor de filtro para o campo especificado no subparâmetro unless
:
SELECT
`flights.make`
FROM
`faa`.`flights`
WHERE `flights.country` = 'Ecuador' AND `flights.aircraft_category` = 'Airplane'
LIMIT 5
SELECT
`flights.make`
FROM
`faa`.`flights`
GROUP BY
1
HAVING `flights.count` > 2
Exemplo
Segue-se um exemplo de consulta que usa dimensões e medidas. Esta consulta extrai as dimensões state e city da vista customers e a medida total amount da vista orders. Ambas as vistas são unidas na exploração orders no modelo de comércio eletrónico. Para as cidades com mais de 10 encomendas, esta resposta à consulta mostra as 5 principais cidades por valor da encomenda:
SELECT `customers.state`, `customers.city`,
AGGREGATE(`orders.total_amount`)
FROM `ecommerce`.`orders`
GROUP BY `customers.state`, `customers.city`
HAVING AGGREGATE(`orders.count`) > 10
ORDER BY 3 DESC LIMIT 5;
Aceder aos metadados da base de dados
A interface Open SQL suporta um subconjunto da interface DatabaseMetaData JDBC padrão, que é usada para obter informações sobre a base de dados subjacente. Pode usar os seguintes métodos da interface DatabaseMetaData para obter informações sobre o seu modelo LookML:
A interface SQL aberta devolve resultados apenas para modelos, explorações e campos aos quais tem acesso.
DatabaseMetadata.getSchemas
A tabela seguinte descreve a relação entre um modelo do LookML e as estruturas de base de dados padrão na resposta do método da interface DatabaseMetadata.getSchemas
.
getSchemas coluna de resposta |
Descrição |
---|---|
TABLE_SCHEM |
Nome do modelo do LookML |
TABLE_CATALOG |
(null) |
DatabaseMetadata.getTables
A tabela seguinte descreve a relação entre um modelo do LookML e as estruturas da base de dados na resposta do método da interface DatabaseMetaData.getTables
. A resposta inclui metadados JDBC padrão, bem como metadados específicos do Looker:
getTables coluna de resposta |
Descrição |
---|---|
Metadados padrão JDBC | |
TABLE_CAT |
(null) |
TABLE_SCHEM |
Nome do modelo do LookML |
TABLE_NAME |
Nome da análise detalhada do LookML |
TABLE_TYPE |
Devolve sempre o valor TABLE_TYPE |
REMARKS |
(null) |
TYPE_CAT |
(null) |
TYPE_SCHEM |
(null) |
TYPE_NAME |
String que representa o tipo de tabela. Os tipos possíveis são TABLE , VIEW , SYSTEM TABLE , GLOBAL TEMPORARY , LOCAL TEMPORARY , ALIAS e SYNONYM . |
SELF_REFERENCING_COL_NAME |
(null) |
REF_GENERATION |
(null) |
Metadados específicos do Looker | |
DESCRIPTION |
Explore a descrição |
LABEL |
Explore a etiqueta |
TAGS |
Explore etiquetas |
CONDITIONALLY_FILTER_UNLESS |
A lista de campos no subparâmetro unless do parâmetro conditionally_filter da funcionalidade Explorar. Se não forem especificados campos no subparâmetro unless ou se não for definido nenhum parâmetro conditionally_filter para a análise detalhada, este valor é nulo. |
DatabaseMetadata.getColumns
A tabela seguinte descreve a relação entre um modelo do LookML e as estruturas da base de dados na resposta do método da interface DatabaseMetaData.getColumns
. A resposta inclui metadados JDBC padrão, bem como metadados específicos do Looker:
getColumns coluna de resposta |
Descrição |
---|---|
Metadados padrão JDBC | |
TABLE_CAT |
(null) |
TABLE_SCHEM |
Nome do modelo do LookML |
TABLE_NAME |
Nome da exploração do LookML |
COLUMN_NAME |
Nome do campo LookML no formato `<view_name>.<field_name>` . Por exemplo, `orders.amount` . |
DATA_TYPE |
O código java.sql.Types da coluna. Por exemplo, os campos do Looker são do tipo de código SQL 16 (BOOLEAN).yesno |
TYPE_NAME |
String que representa o tipo de dados da coluna. Para um tipo definido pelo utilizador (UDT), o nome do tipo é totalmente qualificado. |
COLUMN_SIZE |
Número inteiro que representa o número máximo de carateres ou bytes que podem ser armazenados na coluna. |
BUFFER_LENGTH |
(null) |
DECIMAL_DIGITS |
Número inteiro que representa a escala dos dados: o número de dígitos à direita da vírgula decimal, para tipos de dados aplicáveis, ou o número de dígitos fracionários. É devolvido um valor nulo para tipos de dados em que DECIMAL_DIGITS não é aplicável. |
NUM_PREC_RADIX |
Número inteiro que representa a base ou a base de numeração (normalmente, 10 ou 2) dos dados. |
NULLABLE |
Número inteiro que indica se são permitidos valores nulos:
|
REMARKS |
(null) |
COLUMN_DEF |
(null) |
SQL_DATA_TYPE |
(null) |
SQL_DATETIME_SUB |
(null) |
CHAR_OCTET_LENGTH |
Para tipos de dados de carateres, um número inteiro que representa o número máximo de bytes na coluna. |
ORDINAL_POSITION |
O ordinal baseado em 1 do campo na análise detalhada (misturando dimensões e medidas por ordem alfabética pelo nome da vista e, em seguida, pelo nome do campo) |
IS_NULLABLE |
Devolve sempre o valor YES |
SCOPE_CATALOG |
(null) |
SCOPE_SCHEMA |
(null) |
SCOPE_TABLE |
(null) |
SOURCE_DATA_TYPE |
(null) |
IS_AUTOINCREMENT |
(null) |
IS_GENERATEDCOLUMN |
YES para medidas, NO para dimensões |
Metadados específicos do Looker | |
DIMENSION_GROUP |
Nome do grupo de dimensões se o campo fizer parte de um grupo de dimensões. Se o campo não fizer parte de um grupo de dimensões, este valor é nulo. |
DRILL_FIELDS |
Lista de campos de detalhe definidos para a dimensão ou a medida, se existirem |
FIELD_ALIAS |
Alias do campo, se existir |
FIELD_CATEGORY |
Se o campo é dimension ou measure |
FIELD_DESCRIPTION |
Campo description |
FIELD_GROUP_VARIANT |
Se o campo for apresentado sob uma etiqueta de grupo, o elemento FIELD_GROUP_VARIANT especifica o nome mais curto do campo que é apresentado sob a etiqueta de grupo. |
FIELD_LABEL |
Campo label |
FIELD_NAME |
Nome da dimensão ou da medida |
LOOKER_TYPE |
Tipo de campo do LookML para a dimensão ou a medida |
REQUIRES_REFRESH_ON_SORT |
Se a consulta SQL tem de ser atualizada para reordenar os valores do campo (TRUE ) ou se os valores do campo podem ser reordenados sem necessitar de uma atualização da consulta SQL (FALSE ). |
SORTABLE |
Se é possível ordenar o campo (TRUE ) ou não (FALSE ) |
TAGS |
Campo tags |
USE_STRICT_VALUE_FORMAT |
Se o campo usa o formato de valor rigoroso (TRUE ) ou não (FALSE ) |
VALUE_FORMAT |
String formato do valor para o campo |
VIEW_LABEL |
Ver etiqueta para o campo |
VIEW_NAME |
Nome da vista na qual o campo está definido no projeto LookML |
HIDDEN |
Se o campo está oculto no selecionador de campos em Explorar (TRUE ) ou se o campo está visível no selecionador de campos em Explorar (FALSE ). |
ALWAYS_FILTER |
O valor predefinido do parâmetro always_filter definido no campo. Se o campo não fizer parte de um parâmetro always_filter , este valor é nulo. |
CONDITIONALLY_FILTER |
O valor predefinido do parâmetro conditionally_filter definido no campo. Se o campo não fizer parte de um parâmetro conditionally_filter , este valor é nulo. |
Identificar consultas de interface SQL aberta na IU do Looker
Os administradores do Looker podem usar a IU do Looker para identificar as consultas que tiveram origem na interface SQL aberta:
- Na página de administração Consultas, as consultas da interface SQL aberta têm um valor Origem de "Interface SQL". O valor User mostra o nome do utilizador do Looker que executou a consulta. Pode clicar no botão Detalhes de uma consulta para apresentar informações adicionais sobre a consulta. Na caixa de diálogo Detalhes, pode clicar em Consulta da interface SQL para ver a consulta SQL que foi enviada para o Looker a partir da interface SQL aberta.
No Histórico de atividade do sistema do Explore, as consultas da interface SQL aberta têm um valor de Origem de "sql_interface". O valor Email do utilizador mostra o endereço de email do utilizador do Looker que executou a consulta. Pode aceder diretamente à página Histórico do Explore filtrada em "sql_interface" inserindo o endereço da sua instância do Looker no início deste URL:
https://Looker instance URL/explore/system__activity/history?fields=history.source,history.completed_date&f[history.source]=%22sql_interface%22
Repositório para dependências de terceiros
O link seguinte fornece acesso ao repositório alojado pela Google para dependências de terceiros usadas pelo controlador JDBC do Looker:
https://third-party-mirror.googlesource.com/looker_sql_interface/+/refs/heads/master/third_party/