Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Desarrollo de aplicaciones de ClickHouse

Actualización más reciente 2023-11-20 GMT+08:00

ClickHouse es una base de datos orientada a columnas para el procesamiento analítico en línea. Soporta consultas SQL y proporciona un buen rendimiento de consultas. El análisis de agregación y el rendimiento de las consultas basadas en tablas grandes y amplias es excelente, que es un orden de magnitud más rápido que otras bases de datos analíticas.

Características de ClickHouse:

  • Alta relación de compresión de datos
  • Computación paralela multinúcleo
  • Motor de computación vectorizado
  • Soporte para estructura de datos anidados
  • Soporte para índices dispersos
  • Soporte para INSERT y UPDATE

Escenarios de aplicaciones de ClickHouse:

  • Almacenamiento de datos en tiempo real

    El motor de computación de streaming (como Flink) se usa para escribir datos en tiempo real en ClickHouse. Con el excelente rendimiento de la consulta de ClickHouse, las consultas y las solicitudes de análisis en tiempo real multidimensionales y multimodo pueden responderse en subsegundos.

  • Consulta sin conexión

    Los datos de servicio a gran escala se importan a ClickHouse para construir una gran tabla amplia con cientos de millones a decenas de miles de millones de registros y cientos de dimensiones. Es compatible con la recopilación de estadísticas personalizadas y consultas y análisis exploratorios continuos en cualquier momento para ayudar a la toma de decisiones de negocios y proporcionar una excelente experiencia de consulta.

MRS proporciona ejemplos de proyectos de desarrollo de aplicaciones basados en ClickHouse JDBC. Esta práctica proporciona orientación para que obtenga e importe un proyecto de muestra después de crear un clúster MRS y, a continuación, realice la construcción y puesta en marcha localmente. En este proyecto de ejemplo, puede crear y eliminar tablas ClickHouse e insertar y consultar datos en el clúster MRS.

Creación de un clúster de MRS ClickHouse

  1. Cree y compre un clúster MRS que contenga ClickHouse. Para obtener más información, consulte Compra de un clúster personalizado.
    NOTA:

    En esta práctica, se utiliza como ejemplo un clúster MRS 3.2.0-LTS.1, con ClickHouse instalado y con autenticación Kerberos habilitada.

  2. Haga clic en Buy Now y espere hasta que se cree el clúster MRS.

Preparación de un usuario de autenticación de aplicación

Para un clúster MRS con autenticación Kerberos habilitada, prepare un usuario que tenga el permiso de operación en componentes relacionados para la autenticación de aplicaciones.

El siguiente ejemplo de configuración de permisos de ClickHouse es solo para referencia. Puede modificar la configuración según lo necesite.

  1. Una vez creado el clúster, inicie sesión en FusionInsight Manager.
  2. Elija System > Permission > Role y haga clic en Create Role en el panel derecho.

    1. Escriba un nombre de rol, por ejemplo, developrole y haga clic en OK.
    2. En el cuadro de diálogo Configure Resource Permission, seleccione el clúster deseado, elija ClickHouse y SUPER_USER_GROUP.

  3. Elija System > Permission > User, haga clic en Create en el panel derecho para crear un usuario humano-máquina, por ejemplo, developuser y agregue el rol developrole.

    Una vez creado el usuario, inicie sesión en FusionInsight Manager como developuser y cambie la contraseña inicial según se le solicite.

Obtención del proyecto de muestra

  1. Obtenga el proyecto de muestra de Huawei Mirrors.

    Descargue el código fuente del proyecto Maven y los archivos de configuración del proyecto de ejemplo, y configure las herramientas de desarrollo relacionadas en su PC local. Para obtener más información, consulte Obtención de proyectos de muestra desde Huawei Mirros.

    Seleccione una rama basada en la versión del clúster y descargue el proyecto de muestra de MRS requerido.

    Por ejemplo, el proyecto de muestra adecuado para esta práctica es clickhouse-examples, que se puede obtener en https://github.com/huaweicloud/huaweicloud-mrs-example/tree/mrs-3.2.0.1/src/clickhouse-examples.

  2. Utilice IDEA para importar el proyecto de ejemplo y espere a que el proyecto Maven descargue los paquetes de dependencias. Para obtener más información, consulte Configuración e importación de proyectos de muestra.

    Figura 1 Proyecto de muestra de ClickHouse

    Después de configurar los parámetros Maven y SDK en el PC local, el proyecto de ejemplo carga automáticamente paquetes de dependencias relacionados.

  3. En este proyecto de ejemplo, la aplicación se conecta al servidor ClickHouse a través de la dirección IP y la información del usuario en el archivo de configuración. Por lo tanto, después de importar el proyecto, debe modificar el archivo clickhouse-example.properties en el directorio conf del proyecto de ejemplo basado en la información real del entorno.

    loadBalancerIPList=192.168.64.10,192.168.64.122
    sslUsed=true
    loadBalancerHttpPort=21425
    loadBalancerHttpsPort=21426
    CLICKHOUSE_SECURITY_ENABLED=true
    user=developuser
    password=Bigdata_!@#
    isMachineUser=false
    isSupportMachineUser=false
    clusterName=default_cluster
    databaseName=testdb
    tableName=testtb
    batchRows=10000
    batchNum=10
    clickhouse_dataSource_ip_list=192.168.64.10:21426,192.168.64.122:21426
    native_dataSource_ip_list=192.168.64.10:21424,192.168.64.122:21424
    Tabla 1 Descripción de configuración

    Elemento de configuración

    Descripción

    loadBalancerIPList

    Direcciones de las instancias ClickHouseBalancer.

    Para ver las direcciones IP de instancia, inicie sesión en FusionInsight Manager, elija Cluster > Services > ClickHouse, y haga clic en Instance.

    En este ejemplo, establezca este parámetro en 192.168.64.10,192.168.64.122.

    sslUsed

    Si se debe habilitar la encriptación SSL. Establezca este parámetro en true para clústeres en modo de seguridad.

    loadBalancerHttpPort

    Números de puertos HTTP y HTTPS del balanceador de carga.

    Inicie sesión en FusionInsight Manager y elija Cluster > Services > ClickHouse. Haga clic en Logical Cluster, busque la fila que contiene el clúster lógico deseado y vea Port y Ssl Port en la columna HTTP Balancer Port.

    loadBalancerHttpsPort

    CLICKHOUSE_SECURITY_ENABLED

    Si se debe habilitar el modo de seguridad ClickHouse.

    En este ejemplo, establezca este parámetro en true.

    user

    Información de autenticación del usuario en desarrollo. Para un usuario de máquina-máquina, deje el password vacío.

    password

    isMachineUser

    Si el usuario de autenticación es un usuario máquina-máquina.

    isSupportMachineUser

    Si se admite la autenticación de un usuario máquina-máquina. En este ejemplo, establezca este parámetro en false.

    clusterName

    Nombre del clúster lógico ClickHouse conectado a la aplicación. En este ejemplo, conserve el valor predeterminado default_cluster.

    databaseName

    Nombres de la base de datos y de la tabla que se van a crear en el proyecto de ejemplo. Puede cambiar los nombres según los requisitos del sitio.

    tableName

    batchRows

    Número de registros de datos que se escribirán en un lote. En este ejemplo, establezca este parámetro en 10.

    batchNum

    Número total de lotes para escribir datos. Conservar el valor predeterminado en este ejemplo.

    clickhouse_dataSource_ip_list

    Direcciones y puertos HTTP de las instancias ClickHouseBalancer.

    Inicie sesión en FusionInsight Manager, seleccione Cluster > Services > ClickHouse, and click Logical Cluster. En este ejemplo se utiliza un clúster en modo de seguridad. Por lo tanto, localice la fila que contiene el clúster lógico deseado y vea Ssl Port en la columna HTTP Balancer Port.

    En este ejemplo, establezca este parámetro en 192.168.64.10:21426,192.168.64.122:21426.

    native_dataSource_ip_list

    Direcciones y puertos TCP de las instancias ClickHouseBalancer.

    Inicie sesión en FusionInsight Manager y elija Cluster > Services > ClickHouse. Haga clic en Logical Cluster, busque la fila que contiene el clúster lógico deseado y vea Port en la columna TCP Balancer Port.

    En este ejemplo, establezca este parámetro en 192.168.64.10:21424,192.168.64.122:21424.

  4. Desarrolle la aplicación en este proyecto de ejemplo a través de la clickhouse-jdbc API. Para obtener detalles sobre los fragmentos de código de cada función, consulte Código de muestra de ClickHouse.

    • Configuración de una conexión: Configure una conexión a la instancia de servicio ClickHouse.

      Durante la configuración de la conexión, la información de usuario configurada en Tabla 1 se pasa como la credencial de autenticación para la autenticación de seguridad en el servidor.

      clickHouseProperties.setPassword(userPass);
      clickHouseProperties.setUser(userName);
      BalancedClickhouseDataSource balancedClickhouseDataSource = new BalancedClickhouseDataSource(JDBC_PREFIX + UriList, clickHouseProperties);
    • Creación de una base de datos: Crear una base de datos ClickHouse.
      Ejecute la sentencia on cluster para crear una base de datos en el clúster.
      private void createDatabase(String databaseName, String clusterName) throws Exception  {    
           String createDbSql = "create database if not exists " + databaseName + " on cluster " + clusterName;    
           util.exeSql(createDbSql);
      }
    • Creación de una tabla: Crear una tabla en la base de datos ClickHouse.

      Ejecute la sentencia on cluster para crear una tabla ReplicatedMerge y una tabla Distributed en el clúster.

      private void createTable(String databaseName, String tableName, String clusterName) throws Exception { 
         String createSql = "create table " + databaseName + "." + tableName + " on cluster " + clusterName  + " (name String, age UInt8, date Date)engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/" + databaseName + "." + tableName + "'," + "'{replica}') partition by toYYYYMM(date) order by age"; 
         String createDisSql = "create table " + databaseName + "." + tableName + "_all" + " on cluster " + clusterName + " as " + databaseName + "." + tableName + " ENGINE = Distributed(default_cluster," + databaseName + "," + tableName + ", rand());";    ArrayList<String> sqlList = new ArrayList<String>();   
         sqlList.add(createSql);   
         sqlList.add(createDisSql);  
         util.exeSql(sqlList);
      }
    • Inserción de datos: Inserte datos en la tabla ClickHouse.
      Insertar datos en la tabla creada. La tabla creada en este ejemplo tiene tres columnas: String, UInt8 y Date.
      String insertSql = "insert into " + databaseName + "." + tableName + " values (?,?,?)";
      PreparedStatement preparedStatement = connection.prepareStatement(insertSql);
      long allBatchBegin = System.currentTimeMillis();
      for (int j = 0; j < batchNum; j++) {
          for (int i = 0; i < batchRows; i++) { 
             preparedStatement.setString(1, "huawei_" + (i + j * 10));
             preparedStatement.setInt(2, ((int) (Math.random() * 100)));
             preparedStatement.setDate(3, generateRandomDate("2018-01-01", "2021-12-31")); 
             preparedStatement.addBatch();
          }
         long begin = System.currentTimeMillis();
         preparedStatement.executeBatch();    
         long end = System.currentTimeMillis();
         log.info("Inert batch time is {} ms", end - begin);
      }
      long allBatchEnd = System.currentTimeMillis();
      log.info("Inert all batch time is {} ms", allBatchEnd - allBatchBegin);

Creación y ejecución de la aplicación

Si puede acceder al clúster MRS desde su PC local, puede poner en marcha y ejecutar la aplicación localmente.

  1. En el proyecto clickhouse-examples de IntelliJ IDEA, haga clic en Run 'Demo' para ejecutar el proyecto de aplicación.

    Figura 2 Ejecución de la aplicación de ClickHouse Demo

  2. Vea la salida en la consola, como se muestra en la siguiente figura. Puede ver que la tabla ClickHouse se crea y que los datos se insertan correctamente.

    ...
    2023-06-03 11:30:27,127 | INFO  | main | Execute query:create table testdb.testtb on cluster default_cluster (name String, age UInt8, date Date)engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/testdb.testtb','{replica}') partition by toYYYYMM(date) order by age | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
    2023-06-03 11:30:27,412 | INFO  | main | Execute time is 284 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:72)
    2023-06-03 11:30:27,412 | INFO  | main | Current load balancer is 192.168.64.10:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63)
    2023-06-03 11:30:28,426 | INFO  | main | Execute query:create table testdb.testtb_all on cluster default_cluster as testdb.testtb ENGINE = Distributed(default_cluster,testdb,testtb, rand()); | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
    2023-06-03 11:30:28,686 | INFO  | main | Execute time is 259 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:72)
    2023-06-03 11:30:28,686 | INFO  | main | Current load balancer is 192.168.64.10:21426 | com.huawei.clickhouse.examples.Util.insertData(Util.java:137)
    2023-06-03 11:30:29,784 | INFO  | main | Insert batch time is 227 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:31,490 | INFO  | main | Insert batch time is 200 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:33,337 | INFO  | main | Insert batch time is 335 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:35,295 | INFO  | main | Insert batch time is 454 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:37,077 | INFO  | main | Insert batch time is 275 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:38,811 | INFO  | main | Insert batch time is 218 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:40,468 | INFO  | main | Insert batch time is 144 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:42,216 | INFO  | main | Insert batch time is 238 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:43,977 | INFO  | main | Insert batch time is 257 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:45,756 | INFO  | main | Insert batch time is 277 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:154)
    2023-06-03 11:30:47,270 | INFO  | main | Inert all batch time is 17720 ms | com.huawei.clickhouse.examples.Util.insertData(Util.java:158)
    2023-06-03 11:30:47,271 | INFO  | main | Current load balancer is 192.168.64.10:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63)
    2023-06-03 11:30:47,828 | INFO  | main | Execute query:select * from testdb.testtb_all order by age limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
    2023-06-03 11:30:47,917 | INFO  | main | Execute time is 89 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:72)
    2023-06-03 11:30:47,918 | INFO  | main | Current load balancer is 192.168.64.10:21426 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:63)
    2023-06-03 11:30:48,580 | INFO  | main | Execute query:select toYYYYMM(date),count(1) from testdb.testtb_all group by toYYYYMM(date) order by count(1) DESC limit 10 | com.huawei.clickhouse.examples.Util.exeSql(Util.java:68)
    2023-06-03 11:30:48,680 | INFO  | main | Execute time is 99 ms | com.huawei.clickhouse.examples.Util.exeSql(Util.java:72)
    2023-06-03 11:30:48,682 | INFO  | main | name	age	date	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,682 | INFO  | main | huawei_89	3	2021-02-21	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,682 | INFO  | main | huawei_81	3	2020-05-27	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,682 | INFO  | main | huawei_70	4	2021-10-28	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,682 | INFO  | main | huawei_73	4	2020-03-23	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_44	5	2020-12-10	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_29	6	2021-10-12	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_74	6	2021-03-03	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_38	7	2020-05-30	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_57	8	2020-09-27	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | huawei_23	8	2020-08-08	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,683 | INFO  | main | toYYYYMM(date)	count()	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,684 | INFO  | main | 202005	8	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,684 | INFO  | main | 202007	7	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,684 | INFO  | main | 202004	6	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,684 | INFO  | main | 202009	6	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,684 | INFO  | main | 202103	6	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,685 | INFO  | main | 202012	6	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,685 | INFO  | main | 202010	5	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,685 | INFO  | main | 202112	5	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,685 | INFO  | main | 202003	5	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,685 | INFO  | main | 202104	4	 | com.huawei.clickhouse.examples.Demo.queryData(Demo.java:159)
    2023-06-03 11:30:48,689 | INFO  | main | Use HA module. | ru.yandex.clickhouse.BalancedClickhouseDataSource.<init>(BalancedClickhouseDataSource.java:122)
    2023-06-03 11:30:51,651 | INFO  | main | Name is: huawei_89, age is: 3 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,651 | INFO  | main | Name is: huawei_81, age is: 3 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,651 | INFO  | main | Name is: huawei_70, age is: 4 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,651 | INFO  | main | Name is: huawei_73, age is: 4 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,652 | INFO  | main | Name is: huawei_44, age is: 5 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,652 | INFO  | main | Name is: huawei_29, age is: 6 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,652 | INFO  | main | Name is: huawei_74, age is: 6 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,652 | INFO  | main | Name is: huawei_38, age is: 7 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,654 | INFO  | main | Name is: huawei_57, age is: 8 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    2023-06-03 11:30:51,654 | INFO  | main | Name is: huawei_23, age is: 8 | com.huawei.clickhouse.examples.ClickhouseJDBCHaDemo.queryData(ClickhouseJDBCHaDemo.java:73)
    ...

  3. Instale el cliente de clúster MRS e inicie sesión en el cliente ClickHouse.

    Por ejemplo, si el directorio de instalación del cliente es /opt/client, inicie sesión en el nodo donde está instalado el cliente como usuario de instalación del cliente.

    cd /opt/client

    source bigdata_env

    kinit developuser

  4. Ejecute el siguiente comando para conectarse al servidor ClickHouse:

    clickhouse client --host IP address of the ClickHouseServer instance --port Connection port --secure

    Para obtener la dirección IP de la instancia ClickHouse, inicie sesión en FusionInsight Manager, seleccione Cluster > Services > ClickHouse y haga clic en la pestaña Instance. Puede obtener el puerto de conexión buscando el parámetro tcp_port_secure en las configuraciones de servicio ClickHouse.

    Por ejemplo, ejecute el siguiente comando:

    clickhouse client --host 192.168.64.10 --port 21427 --secure

  5. Ejecute el siguiente comando para ver el contenido de la tabla creado por la aplicación:

    select * from testdb.testtb;

    ┌─name──────┬─age─┬───────date─┐
    │ huawei_70 │   4 │ 2021-10-28 │
    │ huawei_29 │   6 │ 2021-10-12 │
    │ huawei_16 │  28 │ 2021-10-04 │
    │ huawei_15 │  29 │ 2021-10-03 │
    └───────────┴─────┴────────────┘
    ...

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios