5 Gerir Ligações à Base de Dados para a Modelagem de Dados

Os administradores criam e gerem ligações à base de dados da cloud para modelar dados relacionais e não relacionais, como dados do Essbase, Snowflake ou Oracle Enterprise Performance Management (Oracle EPM). Os seus dados empresariais não têm de estar num local. Ligue a várias bases de dados da cloud para que os analistas e modeladores de negócios possam analisar os dados da empresa onde quer que estejam armazenados.

Modelar Dados num Cubo do Essbase

Ligue a uma base de dados Essbase para poder modelar e visualizar os dados dos cubos do Essbase.

Só pode modelar os dados do Essbase no Model Administration Tool.
Antes de começar, implemente o Data Gateway com a sua instância do Oracle Analytics e configure um agente do Data Gateway para comunicar com a implementação remota do Essbase.
  1. Na Camada Física, crie uma base de dados:
    1. Clique com o botão direito do rato no painel Camada Física e selecione Criar Nova Base de Dados.
    2. Na caixa de diálogo Base de Dados, especifique um nome para identificar a sua base de dados no Oracle Analytics.
    3. Selecione o Tipo de Base de Dados (por exemplo, Essbase 11) e, em seguida, clique em OK.
  2. Na Camada Física, crie um pool de ligações:
    1. Clique com o botão direito do rato na nova base de dados, clique em Criar Novo Objeto e, em seguida, selecione Pool de Ligações à Base de Dados.
    2. Na caixa de diálogo Pool de Ligações, especifique um nome para identificar o pool de bases de dados no Oracle Analytics.
    3. Em Essbase Server, especifique a cadeia de caracteres de ligação para o seu Essbase Server.
      Por exemplo, http://<IP address>:<port number>/essbase/agent.
    4. Selecione Utilizar Data Gateway.
    5. Introduza o Nome de utilizador e a Senha da implementação do Essbase.
    6. Se for solicitado, reintroduza a senha da implementação do Essbase.
  3. Na Camada Física, importe os metadados da Essbase:
    1. Clique com o botão direito do rato na ligação do Essbase e selecione Importar Metadados.
    2. Na página Selecionar Origem de Dados, clique em Seguinte.
    3. Na página Selecionar Objetos de Metadados, expanda a base de dados na caixa Origem de dados, selecione o cubo pretendido e, em seguida, clique em Importar selecionados.

      Para um cubo de grande dimensão, a importação pode demorar dois a três minutos.

    4. Quando a importação estiver concluída, expanda a base de dados na Visualização do Repositório para apresentar o cubo do Essbase importado.
    5. Clique em Terminar.
  4. Utilizando a camada física que acabou de criar, crie a sua camada de modelo de negócio e correspondência e a sua camada de apresentação.
  5. Clique em Ficheiro, em Cloud e, em seguida, em Publicar.
  6. Crie um livro de visualização ou dashboard baseado no seu cubo do Essbase.
    O novo cubo do Essbase está agora disponível como uma área de atividade no Oracle Analytics.
    Por exemplo, no Oracle Analytics, crie uma análise e, na caixa de diálogo Selecionar Área de Atividade, pode aceder à nova área de atividade do Essbase. No Oracle Analytics, crie um livro e, na caixa de diálogo Acrescentar Conjunto de Dados, clique em Áreas de Atividade para aceder à nova área de atividade do Essbase.

Modelar Dados no Snowflake Data Warehouse

Configure o seu ambiente on-premises para poder modelar dados numa base de dados Snowflake.

Pode modelar dados do Snowflake no Modelador Semântico ou no Model Administration Tool. Esta tarefa descreve o processo utilizando o Model Administration Tool.
As ligações locais e remotas ao Snowflake a partir de um modelo semântico requerem uma instalação do Data Gateway para que o Model Administration Tool possa importar e modelar tabelas de uma origem de dados do Snowflake. Configure o agente do Data Gateway com um driver adequado para estabelecer ligação ao Snowflake. Certifique-se de que as ligações remotas ao Data Gateway estão disponíveis quando as consultas são executadas. Contudo, assim que as tabelas do Snowflake forem modeladas e o modelo semântico for publicado no Oracle Analytics, para as ligações locais, o Data Gateway pode ser desativado ou retirado, uma vez que não é utilizado quando as consultas são executadas a partir do Oracle Analytics.

Pode criar uma ligação local ou remota ao Snowflake a partir do modelo semântico. Ao criar uma ligação local (não remota), o pool de ligações no modelo semântico utiliza uma ligação de JDBC.

Antes de começar, instale o Data Gateway e o Model Administration Tool no mesmo computador com o Windows no seu ambiente on-premises.
  1. Configure um agente do Data Gateway local para facilitar uma ligação do Developer Client Tool ao Snowflake.
    1. Descarregue o driver JDBC Snowflake mais recente (por exemplo, no ficheiro snowflake-jdbc-3.9.0.jar).
    2. Copie o ficheiro JAR descarregado para a pasta de instalação do Data Gateway.
      Numa implementação de servidor, copie o ficheiro JAR para:
      <Data Gateway folder>/domain/jettybase/lib/ext
      Numa implementação pessoal, copie o ficheiro JAR para:
      <install directory>\war\datagateway\WEB-INF\lib
    3. Reinicie o Data Gateway.
  2. Configure uma ligação à sua base de dados Snowflake.
Agora pode modelar os seus dados utilizando esta ligação.

Criar uma Ligação de Modelo Semântico Local ao Snowflake

Estabeleça ligação a uma base de dados Snowflake local para que possa modelar dados Snowflake.

  1. No Model Administration Tool, ative a funcionalidade do pool de ligações de JDBC ao carregar origens de dados de Java. Consulte o Passo 3 em Configurar e Registar Data Gateway para Geração de Relatórios.
  2. No Model Administration Tool, crie uma base de dados e defina o tipo como Snowflake.
  3. Acrescente um Pool de Ligações e especifique estes detalhes no separador Geral:
    • Interface de Chamada: JDBC (Driver Direto).
    • Requerer nomes de tabela totalmente qualificados: Sim.
    • Nome da origem de dados: Introduza a cadeia de caracteres de ligação, por exemplo: jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • Versão de RDC: Deixe este campo em branco.
  4. No separador Diversos, especifique estes detalhes:
    • URL do Servidor JDS: Deixe este campo em branco (retire qualquer entrada neste campo).
    • Classe do Driver: net.snowflake.client.jdbc.SnowflakeDriver.
    • Utilizar SQL Sobre HTTP: false.
  5. Modele os seus dados utilizando esta ligação.
  6. Carregue ou publique o modelo semântico no Oracle Analytics Cloud quando tiver concluído o seu modelo.
    O Oracle Analytics Cloud estabelece ligação à base de dados Snowflake sem utilizar o Data Gateway.
Agora pode modelar os seus dados utilizando esta ligação.

Criar uma Ligação de Modelo Semântico Remota ao Snowflake

Estabeleça ligação a uma base de dados Snowflake local para que possa modelar dados Snowflake.

  1. No Model Administration Tool, ative a funcionalidade do pool de ligações de JDBC ao carregar origens de dados de Java. Consulte o Passo 3 em Configurar e Registar Data Gateway para Geração de Relatórios.
  2. No Model Administration Tool, crie uma base de dados e defina o tipo como Snowflake.
  3. Acrescente um Pool de Ligações e especifique estes detalhes no separador Geral:
    • Interface de Chamada: JDBC (Driver Direto).
    • Requerer nomes de tabela totalmente qualificados: Sim.
    • Nome da origem de dados: Introduza a cadeia de caracteres de ligação, por exemplo: jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • Versão de RDC: Defina como 2.
  4. No separador Diversos, especifique estes detalhes:
    • URL do Servidor JDS: Deixe este campo em branco (retire qualquer entrada neste campo).
    • Classe do Driver: net.snowflake.client.jdbc.SnowflakeDriver.
    • Utilizar SQL Sobre HTTP: true.
  5. Modele os seus dados utilizando esta ligação.
  6. Carregue ou publique o modelo semântico no Oracle Analytics Cloud quando tiver concluído o seu modelo.
    Nota: O Oracle Analytics Cloud estabelece ligação ao Snowflake utilizando qualquer agente do Data Gateway configurado.
  7. Copie o ficheiro do driver Snowflake para cada pasta de instalação do agente do Data Gateway.
    • Numa implementação de servidor, copie o ficheiro JAR para: <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers.
    • Numa implementação pessoal no Windows, copie o ficheiro JAR para: <Data Gateway_extract_path>\thirdpartyDrivers.
    • Numa implementação pessoal no MacOS, copie o ficheiro JAR para: <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers.
  8. Reinicie o Data Gateway. Consulte Manter Data Gateway.

Modelar Dados no Google BigQuery

Ligue a uma base de dados Google BigQuery para que possa modelar e visualizar dados do Google BigQuery. Pode modelar dados do Google BigQuery no Modelador Semântico ou no Model Administration Tool. Estas tarefas descrevem o processo utilizando o Model Administration Tool.

Tópicos

Criar uma Ligação do Oracle Analytics ao Google BigQuery

Pode criar uma ligação do sistema a uma base de dados Google BigQuery e utilizar a ligação para modelar o projeto do Google BigQuery.

Antes de começar, descarregue a Chave Privada da Conta de Serviço (no formato JSON) para o seu serviço do Google BigQuery.
  1. Na Página Principal do Oracle Analytics, clique em Criar e, em seguida, clique em Ligação.
  2. Clique em BigQuery.
  3. Introduza os detalhes da ligação.
    • Em Nome da Ligação, especifique um nome amigável para identificar os detalhes da ligação no Oracle Analytics.
    • Em Projeto, especifique em minúsculas o nome do projeto do BigQuery que pretende analisar.
    • Em Chave Privada da Conta de Serviço, clique em Selecionar e efetue o carregamento da Chave Privada da Conta de Serviço (formato de JSON) para o seu serviço do BigQuery. O Email da Conta de Serviço é preenchido com os detalhes da chave carregada.
    • Em Ligação ao sistema, selecione esta opção.

  4. Grave os detalhes.

Descarregar e Configurar o Driver ODBC para BigQuery

Instale o driver ODBC necessário para a ligação ao Google BigQuery e configure-o no Model Administration Tool para lhe permitir modelar o projeto.

  1. Descarregue o driver ODBC para Simba BigQuery do Google.
    Por exemplo, descarregue a partir de Site de referência do Google.
  2. Instale o driver descarregado no computador onde o Oracle Analytics Client Tools está instalado.
  3. Configure o driver ODBC utilizando a caixa de diálogo Configuração de DSN.

  4. Clique em Testar para testar a ligação.

  5. Grave os detalhes.

Criar um Modelo de Dados da Origem de Dados do Google BigQuery

Cria um modelo de dados para a sua base de dados do Google BigQuery para que possa implementá-lo para visualizar dados num projeto do BigQuery.

Para criar um modelo de dados, precisa de permissões na chave BigQuery. Se a chave BigQuery conceder acesso ao nível de conjunto de dados, basta executar Importar Metadados utilizando o Driver ODBC BigQuery seguindo os passos abaixo. Se a chave BigQuery conceder acesso apenas a tabelas ou visualizações específicas, siga os passos abaixo para criar um schema físico.
  1. No Model Administration Tool, crie uma base de dados no repositório e defina o Tipo de base de dados como ODBC Basic.

  2. Na caixa de diálogo Pools de Ligações, crie um pool de ligações na base de dados.
    • Na Interface de chamada, selecione "Valor por Omissão (ODBC 2.0)".
    • No campo Nome da origem de dados, selecione o driver ODBC BigQuery que criou anteriormente.

  3. Crie um schema físico na base de dados utilizando o mesmo nome que o conjunto de dados BigQuery.
    O SQL BigQuery requer que o nome do conjunto de dados seja colocado como prefixo no nome da tabela, dataset.table. O nome do conjunto de dados é equivalente a um objeto de schema físico no ficheiro do repositório.
  4. Clique com o botão direito do rato no pool de ligações e selecione Importar Metadados.
  5. Na caixa de diálogo Selecionar Origem de Dados, selecione ODBC 2.0 ou ODBC 3.5 para o tipo de ligação e selecione o driver ODBC do BigQuery.

  6. Na caixa de diálogo Selecionar Tipos de Metadados, selecione Visualizações e quaisquer outros tipos que pretenda utilizar sobre os quais a sua chave BigQuery tem permissões.

  7. Na caixa de diálogo Selecionar Tipos de Metadados, selecione as tabelas individuais e, em seguida, clique em Importar Selecionados. Esta ação importa a base de dados BigQuery e as estruturas subjacentes.

    Se clicar em Importar Tudo, só importa a base de dados. Se isso acontecer, selecione Importar Tudo uma segunda vez para importar as tabelas.
  8. Clique em Terminar.
  9. Arraste as tabelas importadas para o schema físico.
  10. Edite a base de dados física e altere o tipo de base de dados para BigQuery.

    Ao alterar a base de dados física, verá uma mensagem a indicar que o tipo de base de dados não corresponde à interface de chamada definida no pool de ligações. Clique em Sim.

  11. Na caixa de diálogo Pool de Ligações, configure estas definições:
    • Na Interface de chamada, altere a interface de chamada para JDBC (Driver Direto).
    • Selecione Requerer nomes de tabela totalmente qualificados.
    • Selecione Utilizar Ligação de Dados.
    • No Oracle Analytics, inspecione a ligação do BigQuery e copie a ID do Objeto. O BigQuery é sensível a maiúsculas e minúsculas. Para garantir que a sintaxe da ligação de dados está correta, utilize o botão Copiar.

    • Na caixa de diálogo Pool de Ligações, cole a ID do Objeto copiada no campo ID do Objeto.
    • Defina o Número Máximo de Ligações para 100.
  12. Grave os detalhes.
Modele os metadados no repositório e carregue o ficheiro do repositório (RPD) para o Oracle Analytics.

Resolver Problemas de Ligação do Repositório para o Google BigQuery

Seguem-se alguns problemas que poderá encontrar ao ligar ao Google BigQuery e soluções alternativas para os mesmos.

Se não selecionar "Requerer nomes de tabela totalmente qualificados" e um schema físico não fizer parte do SQL gerado, as consultas falham com uma mensagem semelhante a "Falha ao ler os dados do servidor da Origem de Dados de Java".

Se a consulta for executada para o BigQuery utilizando nqcmd ou outra ferramenta de entrada de SQL, é apresentada a mensagem de erro real:

WITH SAWITH0 AS (select distinct T4.PROP_CD as c1 from FINOPS_RM_OCC_ACT T4) select 0 as c1, D1.c1 as c2 from SAWITH0 D1 order by c2
[Simba][BigQuery] (70) Invalid query: Table "FINOPS_RM_OCC_ACT" must be qualified with a dataset (e.g. dataset.table).
Statement preparation failed

A forma de qualificar a consulta com um conjunto de dados é utilizar um schema físico no ficheiro do repositório.

Se a ligação do Oracle Analytics utilizar um nome de projeto em maiúsculas, a ligação é criada com êxito.

Poderá ver dois problemas diferentes.

1. As consultas falham com uma mensagem 404 Não Encontrado sobre um URL mascarado:

[2022-03-17T01:13:44.105+00:00] [OBIS] [TRACE:2] [USER-34] [] [ecid: d6382db0-1e63-427e-893b-18bc00c0424e-0000de96,0:2:1:5] [sik: bootstrap] [tid: 856a6700] [messageId: USER-34] [requestid: 6358001e] [sessionid: 63580000] [username: Testuser] -------------------- Query Status: [nQSError: 46164] HTTP Server returned 404 (Not Found) for URL [masked_url]. [[
[nQSError: 46281] Failed to download metadata for dataset ‘system’.‘BigQuery Test’.
[nQSError: 43119] Query Failed:

2. No Oracle Analytics, vê conjuntos de dados mas as tabelas subjacentes não estão disponíveis.
Segue-se a descrição de GUID-1C0811AA-3875-4A7C-A147-230688B98583-default.png
.png

Em ambos os casos, pode modificar a ligação para que o nome do projeto fique em minúsculas.

Ao resolver problemas nas ligações do BigQuery no Oracle Analytics Cloud, utilize um cliente JDBC de terceiros para tentar ligar ao BigQuery utilizando a mesma Chave da Conta de Serviço.

Se a ligação continuar a falhar, existe um problema com a Chave da Conta de Serviço.

Se a ligação tiver êxito, existe um problema com o Oracle Analytics, pelo que deverá contactar o Suporte Oracle.

Este teste é útil nos casos em que a Chave da Conta de Serviço não é verificada através do ODBC.

Formatos de DSN para Especificar Origens de Dados

No Oracle Analytics, pode modelar os seus dados on-premises para muitos tipos de bases de dados. O Oracle Analytics suporta o acesso direto a algumas origens de dados on-premises através do modelo semântico. Quando criar a ligação à base de dados utilizando o Model Administration Tool, no campo Nome da origem de dados da caixa de diálogo Pool de Ligações (separador Geral), deve utilizar o formato de DSN adequado ao tipo de base de dados a que está a ligar.

Amazon Redshift:
       DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
      SSL: DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=6;CPV=TLSv1.2,TLSv1.1,TLSv1, SSLv3, SSLv2;VSC=0
Apache Drill:
       DRIVER=MapR Drill ODBC Driver;Host=["host-name"];Port=["port"];CastAnyToVarchar=true;ExcludedSchemas=sys,INFORMATION_SCHEMA;AuthenticationType=Basic               Authentication;ConnectionType=Direct
Aster:
       DRIVER=Aster ODBC Driver;SERVER=["host-name"];PORT=["port"];DATABASE=["service-name"]
DB2:
      DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"]
      SSL:  DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0
Greenplum:
       DRIVER=Oracle 7.1 Greenplum Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Hive:
       DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"]
      SSL: DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Impala:
       DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"]
     SSL:  DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Informix:
       DRIVER=Oracle 7.1 Informix Wire Protocol;HOSTNAME=["host-name"];PORTNUMBER=["port"];DATABASE=["service-name"]
MongoDB:
       DRIVER=Oracle 8.0 MongoDB;HOST=["host-name"];PORT=["port"];DB=["service-name"]
MySQL:
      DRIVER=Oracle 7.1 MySQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
PostgresSql:
       DRIVER=Oracle 7.1 PostgreSQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Spark:
      DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"]
      SSL:  DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
SQL Server:
     DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
     SSL:  DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0;CryptoProtocolVersion=TLSv1.2,TLSv1.1,TLSv1,SSLv3,SSLv2
Sybase:
       DRIVER=Oracle 7.1 Sybase Wire Protocol;NA=["host-name"], ["port"];DB=["service-name"]
Teradata:
       DRIVER=Oracle 7.1 Teradata;DBCName=["host-name"];port_name=["port"]