Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ GaussDB(DWS)/ Melhores práticas/ Análise de dados de amostra/ Análise de veículos no ponto de verificação
Atualizado em 2024-05-09 GMT+08:00

Análise de veículos no ponto de verificação

Esta prática mostra como analisar os veículos que passam nos postos de verificação. Nessa prática, 890 milhões de registros de dados de pontos de verificação são carregados em uma única tabela de banco de dados no GaussDB(DWS) para consultas precisas e difusas, demonstrando a capacidade do GaussDB(DWS) de executar consultas de alto desempenho para dados históricos.

Os dados de amostra foram carregados na pasta traffic-data em um bucket do OBS, e todas as contas da Huawei Cloud receberam a permissão somente leitura para acessar o bucket do OBS.

Regiões suportadas

Tabela 1 descreve as regiões onde os dados do OBS foram carregados.

Tabela 1 Regiões e nomes de bucket do OBS

Região

Bucket de OBS

CN North-Beijing1

dws-demo-cn-north-1

CN North-Beijing2

dws-demo-cn-north-2

CN North-Beijing4

dws-demo-cn-north-4

CN North-Ulanqab1

dws-demo-cn-north-9

CN East-Shanghai1

dws-demo-cn-east-3

CN East-Shanghai2

dws-demo-cn-east-2

CN South-Guangzhou

dws-demo-cn-south-1

CN South-Guangzhou-InvitationOnly

dws-demo-cn-south-4

CN-Hong Kong

dws-demo-ap-southeast-1

AP-Singapore

dws-demo-ap-southeast-3

AP-Bangkok

dws-demo-ap-southeast-2

LA-Santiago

dws-demo-la-south-2

AF-Johannesburg

dws-demo-af-south-1

LA-Mexico City1

dws-demo-na-mexico-1

LA-Mexico City2

dws-demo-la-north-2

RU-Moscow2

dws-demo-ru-northwest-2

LA-Sao Paulo1

dws-demo-sa-brazil-1

Fazer preparações

  • Você registrou uma conta do GaussDB(DWS) e verificou o status da conta antes de usar GaussDB(DWS). A conta não pode estar em atraso ou congelada.
  • Você obteve o AK e SK da conta.

Passo 1: criar um cluster

  1. Faça logon no console de gerenciamento.
  2. Clique em Service List e escolha Analytics > GaussDB(DWS).
  3. No painel de navegação à esquerda, escolha Clusters. Na página exibida, clique em Create Cluster no canto superior direito.
  4. Configure parâmetros de acordo com Tabela 2.

    Tabela 2 Configuração básica

    Parâmetro

    Configuração

    Region

    Selecione CN North-Beijing4 or CN-Hong KongEU-Dublin.

    NOTA:

    CN-Hong Kong é usado como exemplo. Você pode selecionar outras regiões, conforme necessário. Certifique-se de que todas as operações sejam realizadas na mesma região.

    AZ

    AZ2

    Resource

    Armazém padrão

    Compute Resource

    ECS

    Storage type

    Cloud SSD

    CPU Architecture

    X86

    Node Flavor

    dws2.m6.4xlarge.8 (16 vCPUs | 128 GB | 2000 GB SSD)

    NOTA:

    Se esse flavor estiver esgotado, selecione outras AZs ou flavors.

    Hot Storage

    100 GB/node

    Nodes

    3

  5. Verifique se as informações estão corretas e clique em Next: Configure Network. Configure a rede fazendo referência a Tabela 3.

    Tabela 3 Configuração da rede

    Parâmetro

    Configuração

    VPC

    vpc-default

    Subnet

    subnet-default(192.168.0.0/24)

    Security Group

    Automatic creation

    EIP

    Buy now

    Bandwidth

    1 Mbit/s

    ELB

    Não use

  6. Verifique se as informações estão corretas e clique em Next: Configure Advanced Settings. Configure a rede fazendo referência a Tabela 4.

    Tabela 4 Configuração de definições avançadas

    Parâmetro

    Configuração

    Cluster Name

    dws-demo

    Cluster Version

    Use a versão recomendada, por exemplo, 8.1.3.311.

    Administrator Account

    dbadmin

    Administrator Password

    -

    Confirm Password

    -

    Database Port

    8000

    Enterprise Project

    default

    Advanced Settings

    Default

  7. Clique em Next: Confirm, confirme a configuração e clique em Next.
  8. Espere cerca de 6 minutos. Depois que o cluster for criado, clique em ao lado do nome do cluster. Na página de informações do cluster exibida, registre o valor de Public Network Address, por exemplo, dws-demov.dws.huaweicloud.com.

Passo 2: usar o Data Studio para conectar-se a um cluster

  1. Certifique-se de que o JDK 1.8.0 ou posterior tenha sido instalado no host do cliente. Escolha PC > Properties > Advanced System Settings > Environment Variables e defina JAVA_HOME (por exemplo, C:\Program Files\Java\jdk1.8.0_191). Adicione ;%JAVA_HOME%\bin à variável path.
  2. Na página Connections do console GaussDB(DWS), baixe o cliente de GUI do Data Studio.
  3. Descompacte o pacote de software do Data Studio baixado, vá para o diretório descompactado e clique duas vezes em Data Studio.exe para iniciar o cliente.
  4. No menu principal do Data Studio, escolha File > New Connection. Na caixa de diálogo exibida, configure a conexão com base em Tabela 5.

    Tabela 5 Configuração do software Data Studio

    Parâmetro

    Configuração

    Database Type

    GaussDB(DWS)

    Connection Name

    dws-demo

    Host

    dws-demov.dws.huaweicloud.com

    O valor deste parâmetro deve ser o mesmo que o valor de Public Network Address consultado em Passo 1: criar um cluster.

    Host Port

    8000

    Database Name

    gaussdb

    User Name

    dbadmin

    Password

    -

    Enable SSL

    Disable

  5. Clique em OK.

Passo 3: importar dados de amostra

Depois de se conectar ao cluster usando a ferramenta de cliente SQL, execute as seguintes operações na ferramenta de cliente SQL para importar os dados de exemplo de pontos de verificação de tráfego e executar consultas de dados.

  1. Execute a instrução a seguir para criar o banco de dados traffic:

    1
    CREATE DATABASE traffic encoding 'utf8' template template0; 
    

  2. Execute as seguintes etapas para alternar para o novo banco de dados:

    1. Na janela Object Browser do cliente do Data Studio, clique com o botão direito do mouse na conexão de banco de dados e selecione Refresh no menu de atalho. Em seguida, o novo banco de dados é exibido.
    2. Clique com o botão direito do mouse no nome do novo banco de dados traffic e escolha Connect to DB no menu de atalho.
    3. Clique com o botão direito do mouse no nome do novo banco de dados traffic e escolha Open Terminal no menu de atalho. A janela de comando SQL para conexão com o banco de dados especificado é exibida. Execute os seguintes passos na janela.

  3. Execute as seguintes instruções para criar uma tabela de banco de dados para armazenar informações de veículos de pontos de verificação de tráfego:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    CREATE SCHEMA traffic_data;
    SET current_schema= traffic_data;
    DROP TABLE if exists GCJL;
    CREATE TABLE GCJL
    (
            kkbh   VARCHAR(20), 
            hphm   VARCHAR(20),
            gcsj   DATE ,
            cplx   VARCHAR(8),
            cllx   VARCHAR(8),
            csys   VARCHAR(8)
    )
    with (orientation = column, COMPRESSION=MIDDLE)
    distribute by hash(hphm);
    

  4. Crie uma tabela estrangeira, que é usada para identificar e associar os dados de origem no OBS.

    • <obs_bucket_name> indica o nome do bucket do OBS. Apenas algumas regiões são suportadas. Para obter detalhes sobre as regiões suportadas e os nomes dos bucket do OBS, consulte Regiões suportadas. Os clusters do GaussDB(DWS) não oferecem suporte ao acesso entre regiões aos dados do bucket do OBS.
    • Nesta prática, a região CN-Hong Kong é usada como exemplo. Digite dws-demo-ap-southeast-1 e substitua <Access_Key_Id> e <Secret_Access_Key> pelo valor obtido em Fazer preparações.
    • // AK e SK codificados rigidamente ou em texto não criptografado são arriscados. Para fins de segurança, criptografe seu AK e SK e armazene-os no arquivo de configuração ou nas variáveis de ambiente.
    • Se a mensagem "ERROR: schema "xxx" does not exist Position" for exibida quando você criar uma tabela estrangeira, o esquema não existe. Execute a etapa anterior para criar um esquema.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    CREATE SCHEMA tpchobs;
    SET current_schema = 'tpchobs';
    DROP FOREIGN table if exists GCJL_OBS;
    CREATE FOREIGN TABLE GCJL_OBS
    (
            like traffic_data.GCJL
    )
    SERVER gsmpp_server 
    OPTIONS (
            encoding 'utf8',
            location 'obs://<obs_bucket_name>/traffic-data/gcxx',
            format 'text',
            delimiter ',',
            access_key '<Access_Key_Id>',
            secret_access_key '<Secret_Access_Key>',
            chunksize '64',
            IGNORE_EXTRA_DATA 'on'
    );
    

  5. Execute a instrução a seguir para importar dados da tabela estrangeira para a tabela do banco de dados:

    1
    INSERT INTO traffic_data.GCJL SELECT * FROM tpchobs.GCJL_OBS;
    

    Leva algum tempo para importar dados.

Passo 4: realizar análise de veículos

  1. Execução de ANALYZE

    Esta instrução coleta estatísticas relacionadas a tabelas ordinárias em bancos de dados. As estatísticas são salvas no catálogo do sistema PG_STATISTIC. Quando você executa o planejador, as estatísticas o ajudam a desenvolver um plano de execução de consulta eficiente.

    Execute a instrução a seguir para gerar as estatísticas da tabela:

    1
    ANALYZE;
    
  1. Consulta do volume de dados da tabela de dados

    Execute a instrução a seguir para consultar o número de registros de dados carregados:

    1
    2
    SET current_schema= traffic_data;
    SELECT count(*) FROM traffic_data.gcjl;
    
  1. Consulta precisa do veículo

    Execute as seguintes instruções para consultar a rota de condução de um veículo pelo número da placa de licença e segmento de tempo. GaussDB(DWS) responde à solicitação em segundos.

    1
    2
    3
    4
    5
    6
    SET current_schema= traffic_data;
    SELECT hphm, kkbh, gcsj
    FROM traffic_data.gcjl
    where hphm =  'YD38641'
    and gcsj between '2016-01-06' and '2016-01-07'
    order by gcsj desc;
    
  1. Consulta difusa do veículo

    Execute as seguintes instruções para consultar a rota de condução de um veículo pelo número da placa de licença e segmento de tempo. GaussDB(DWS) responde à solicitação em segundos.

    1
    2
    3
    4
    5
    6
    7
    SET current_schema= traffic_data;
    SELECT hphm, kkbh, gcsj 
    FROM traffic_data.gcjl
    where hphm like  'YA23F%'
    and kkbh in('508', '1125', '2120') 
    and gcsj between '2016-01-01' and '2016-01-07'  
    order by hphm,gcsj desc;