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.
Procedimento geral
Essa prática leva cerca de 40 minutos. O processo básico é o seguinte:
Regiões suportadas
Tabela 1 descreve as regiões onde os dados do OBS foram carregados.
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
- Faça logon no console de gerenciamento.
- Clique em Service List e escolha Analytics > GaussDB(DWS).
- No painel de navegação à esquerda, escolha Clusters. Na página exibida, clique em Create Cluster no canto superior direito.
- 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
- Verifique se as informações estão corretas e clique em Next: Configure Network. Configure a rede fazendo referência a Tabela 3.
- 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
- Clique em Next: Confirm, confirme a configuração e clique em Next.
- 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
- 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.
- Na página Connections do console GaussDB(DWS), baixe o cliente de GUI do Data Studio.
- 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.
- 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
- 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.
- Execute a instrução a seguir para criar o banco de dados traffic:
1
CREATE DATABASE traffic encoding 'utf8' template template0;
- Execute as seguintes etapas para alternar para o novo banco de dados:
- 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.
- 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.
- 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.
- 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);
- 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' );
- 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
- 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;
- 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;
- 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;
- 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;