【一文看懂】Havenask创建表

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: 本次分享内容为Havenask的创建表,共3个部分组成(直写表与全量表、 创建直写表、创建全量表),希望可以帮助大家更好了解和使用Havenask。

一、直写表与全量表

1、直写表

•数据直接在searcher上处理并构建成索引,不支持全量数据源,数据必须通过api推送生效

•表创建简单

•时效性高

•不支持全量,不支持修改表结构


2、全量表

•独立的索引构建流程,支持全量数据源,实时数据推送到swift

•表创建流程较长,必须经过全量索引构建

•时效性较直写表低,但也可以在1秒内生效

•支持全量,海量数据可以快速导入

•支持修改表结构

•索引构建不影响在线,更加稳定

•离线资源独立控制,可以支持更高的数据更新


3、直写表和全量表主要的区别

  • 直写表不是一个包含独立的索引构建的流程,其数据直接在searcher处理并构建成索引,不支持全量数据源,必须通过API推送来生效。它的表创建较为简单,由于数据都在searcher节点上处理,因此其时效性更。但由于其不支持全量数据,无法修改索引表的结构以及索引的分片。


  • 全量表有独立的索引构建流程,支持配置全量的数据源,其实时数据需要推送到swift上生效。它的表创建的流程较复杂,相较于直写表通过全量索引构建,其时效性较直写表较低,但也足以保证在秒以内成效。


  • 全量表支持全量数据导入,其数据可以快速导入到系统中。通过全量的方式,它可以修改表的结构以及表的分片数。由于其有独立的索引构建流程,因此其表的构建不影响在线的数据。因此,全量表可以使在线系统更加稳定,同时离线资源可以独立控制,通过扩缩资源可以支持更高的数据更新。

 

二、创建直写表

所有命令都在容器内部执行,因此,首先需要创建可以执行命令的Hape的容器。在容器创建成功后,通过SSH命令进入容器。在创建表前,要先启动havenask系统,启动成功后,即可通过create table命令直接创建表。


create table命令中,需要指定表的名称、表的分片数以及表需要的schema。大家可以通过示例的schema直接创建一张测试表。在执行完成后,可以通过gs命令查看表的状态,当表处于ready状态后,即可直接在表内写入数据。写入完成后,可以通过查询语句直接查询该段数据。


  • 启动havenask:

/ha3_install/hapestarthavenask


  • 创建直写表:

/ha3_install/hape create -t in0 -p 1 -s /ha3_install/example/cases/normal/in0_schema.json


  • 获取集群状态:

/ha3_install/hape gs havenask


  • 操作数据

/ha3_install/sql_query.py --query "insert into in0

(createtime,hits, id,title,subject)values(1,2,4,'测试,‘测试’)

/ha3_install/sql_query.py --query " select * from in0"


三、创建全量表

  • 启动havenask:

/ha3_install/hape start havenask


  • 创建直写表:

/ha3_install/hape create -t in1 -p 1 -s/ha3_install/example/cases/normal/in0_schema.json -f

/ha3_install/example/cases/normal/test.data


  • 获取集群状态:

/ha3_install/hape gs bs

/ha3_install/hape gs havenask


  • 操作数据:

/ha3_install/sql_query.py --query " select* from in1"


四、结尾

具体Havenask创建表的演示视频可以通过链接查看,欢迎各位开发者使用。

视频链接:https://developer.aliyun.com/live/253657?spm=a2c6h.14164896.0.0.786b47c54kOhxO&scm=20140722.S_community@@%E8%A7%86%E9%A2%91@@253657._.ID_253657-RL_Havenask%E5%88%9B%E5%BB%BA%E8%A1%A8-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_0


关注我们:

Havenask 开源官网:https://havenask.net/

Havenask-Github 开源项目地址:https://github.com/alibaba/havenask

阿里云 OpenSearch 官网:https://www.aliyun.com/product/opensearch

钉钉扫码加入 Havenask 开源官方技术交流群:

1715594790746.png

目录
打赏
0
3
3
1
279
分享
相关文章
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB知识库】分布式LSC表修改字段
本文来自YashanDB官网,介绍了一种间接修改分布式LSC表字段的方法。通过重命名原表为备份表、重建新表调整字段长度、使用bulkload方式快速导入数据、验证记录数并删除备份表等步骤,实现将字段`area_name`从VARCHAR2(60)修改为VARCHAR2(100)。此方法高效且适用于分布式环境下的表结构调整。
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
MaxCompute产品使用合集之怎么将事务表改为普通分区表
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
python MongoClient 创建数据库,并且创建表插入一行数据并查询
要在MongoDB中创建一个数据库、一个集合(在MongoDB中,集合类似于SQL中的表)并插入一行数据,你可以使用MongoDB的官方驱动程序。以下是一个使用Python的pymongo库来执行这些操作的示例: 首先,确保你已经安装了pymongo库。你可以使用pip来安装: bash pip install pymongo 接下来,使用以下Python代码来创建数据库、集合、插入数据并查询: python from pymongo import MongoClient # 连接到MongoDB服务器 client = MongoClient('mongodb://loc
295 0
MySQL基础之写表(创建表)
市面上的SQL可视化工具不少,我一般常用的主要就是这两个。
181 0
Hive创建分区表常用指令
Hive创建分区表常用指令
571 0
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)