ByteHouse 是云原生的数据分析仓库,在数据分析&数据仓库领域提供了一体化解决方案,适用于实时用户行为分析、BI报表制作、日志数据处理等场景。它结合了数据仓库、大数据平台、数据开发/集成/BI 生态、云原生服务的关键特性,提供全面、高性能、安全、弹性的数据解决方案。本文将带您了解 ByteHouse 云数仓版的开通方式和如何快速上手使用 ByteHouse,包括基本的数据分析流程,如数据库/表创建、数据加载及 SQL 查询操作等。
进入火山引擎官网首页,单击右上角的立即注册,按界面引导完成火山引擎官网账号注册及实名认证,操作详情请参见账号注册流程。
访问 ByteHouse 产品首页,单击购买云数仓版。
根据界面提示单击立即授权,授权 ByteHouse 云数仓版跨服务访问私有化网络、云监控等产品。授权完成后,即可进入 ByteHouse 云数仓版版控制台。
在开通 ByteHouse 服务页面,配置开通 ByteHouse 的地域、计算、存储、网络资源。
参数 | 说明 |
|---|---|
地域 | |
区域 | 火山引擎数据中心的地理位置区域,根据地理位置的不同划分了不同的地域。在实例创建后,实例的地域不可更改。 |
计算资源 | |
付费方式 | ByteHouse 云数仓版目前仅支持按量计费和包年包月计费模式。计费详情请参见:结算与续费说明。 |
计算组 | 计算组是 ByteHouse 的计算资源,您可按需创建指定规格的计算组,为各类数据操作提供充足的资源。您可设置多个计算组。ByteHouse 默认将您开通服务时设置的第一个计算组作为全局默认写计算组,为写入数据提供计算资源。如果存在多个计算组,您可在开通服务后,在控制台上切换计算组,详情请参见设置默认写计算组。
|
本地盘 | 本地盘的用途是承担数据写入时的暂存区和数据读取时的缓存区。 |
高级特性 | 支持开通全文检索、GIS 时空分析、向量检索等高级特性。 |
自动暂停/启动 |
注意 如需将某个计算组设置为专属 Server 的默认写计算组,需关闭该计算组的自动启停设置。 |
存储资源 | |
存储空间 | 您无需提前购买存储资源,只需支付所使用的存储空间和存储的压缩数据量。 |
网络资源 | |
私有网络(VPC) | 为 ByteHouse 绑定私有网络,用于保障数据传输安全、实现与云上资源私网互通。 |
子网 | |
安全组 | |
购买时长(包年包月计费模式需配置) | |
购买时长 | 可选择 1 个月~3 年。 |
自动续订 | 自动续费默认每个月系统自动付费,无需手动支付,可随时修改续费设置。 |
完成配置后,勾选“我已阅读并同意 《ByteHouse 服务专用条款》”,单击开通 ByteHouse,等待约 1 分钟左右即可开通 ByteHouse 云数仓服务。
在开始使用 ByteHouse 前,您需要先为 ByteHouse 的各类任务设置默认计算组(步骤二中的默认写计算组仅用于写入数据,此步骤设置的默认计算组用于处理查询等其他任务),为处理查询提供默认计算资源。后续执行任务时如果没有单独指定计算组,则将使用您设置的默认计算组资源,此步骤为必需操作。
在 ByteHouse 云数仓版控制台上,访问租户管理 > 参数设置 > 用户参数页面,单击编辑按钮,设置默认计算组。
本文以创建数据库 bh_demo 和数据表 employees 为例,介绍如何在 ByteHouse 云数仓版中创建数据对象并通过上传本地文件方式导入数据。
您可以通过可视化建库和使用 SQL 语句建库两种方式创建数据库。
bh_demo 数据库为例。CREATE DATABASE 命令,并单击运行,创建数据库。SQL 语句示例如下:CREATE DATABASE bh_demo;
bh_demo,在该数据库的详情页中,单击右上角+数据表按钮,单击可视化页面创建。输入表的基础信息,包括表名称、描述。
配置列。输入列名,并设置列属性,配置说明详见下文参数说明。
参数 | 配置说明 |
|---|---|
列名 | 设置列名称。 注意 列名不支持包含斜杠(/)、连字符(-)和空格。 |
数据类型 | 设置列的数据类型。当前 ByteHouse 支持的数据类型请参见数据类型。 |
默认值 | 设置列的默认值。如果插入数据时未指定该列的值,ByteHouse 将自动填充默认值。 |
表达式 | 设置默认值是否为表达式,指定该列的默认值是否为动态计算表达式(而非固定值)。 |
注释 | 填写列的说明信息,用于标注列的业务含义,便于后续维护。 |
可为空 | 设置该列的值是否可为空。 |
配置表属性。ByteHouse 支持为表配置排序键、分区键、表生命周期(TTL)、唯一键等属性。
注意
建表成功后,配置的参数字段大部分无法在创建完成后修改,请在建表前了解键的用途并合理规划。更多建表配置说明可参见 ByteHouse 建表配置最佳实践和 ByteHouse 唯一键表最佳实践。
参数说明
参数 | 配置说明 |
|---|---|
排序键 | 必填项。排序键用于确定数据在数据库中的物理存储顺序。一张数据表中最多有 5 个排序键。 注意 建表成功后,排序键不支持修改类型/增列/减列。如需修改,需要删除表后重新导入数据。 |
分区键 | 选填项。分区键用于确定每个数据表行所属的数据分区,以将大型数据表分割为多个较小部分。分区字段不支持 Nullable,最多支持设置 5 个分区字段。 注意 建表成功后,分区键字段不支持修改类型/增列/减列。 |
过期时间 TTL | 选填项。TTL(Time To Live)是指数据的生命周期,以天为单位,以分区键作为基础进行计算,可用于自动清理过期数据。
注意 建表成功后,无法通过可视化编辑表调整 TTL,但可通过 SQL 语句调整 TTL,操作详情请参见TTL操作(TTL)。 |
唯一键 | 唯一键可支持 Upsert(Update and Insert)能力,确保数据在分区级别去重,并始终查询对应唯一键的最新值。唯一键最多为 10 个。 注意 建表成功后,唯一键字段不支持修改类型/增列/减列。 |
分桶键 | 对于每一个表或分区,通过指定分桶键(Cluster Key)进一步细分成桶,对列中的数据进行哈希,进行更细粒度的划分,从而提高查询和采样效率。分桶键不能为 Nullable 可空列。 注意 建表成功后,分桶键字段不支持修改类型/增列/减列。 |
主键 | 主键用于组织数据文件,对数据表中每条记录的唯一标识进行约束。主键必须包含“唯一”值,不能包含“空”值。一个数据表只能有一个主键。 注意 建表成功后,主键字段不支持修改类型/增列/减列。 |
采样键 | 采样键用于在抽样查询中使用。这类查询只对特定部分数据(样本)执行查询,适用于牺牲准确性以换取性能,或需求结果本身是近似值的查询。 注意 建表成功后,采样键字段不支持修改类型/增列/减列。 |
配置过程中,您可单击建表页面上的 SQL 页签,可以看到 ByteHouse 输出了创建数据表 employees 对应的 SQL 语句。
当前 ByteHouse 云数仓版支持本地小文件导入、离线导入、流式导入、S3/TOS 外表导入,本文以上传 CSV 表格为例,更多导入方式和操作指导可参见数据导入/导出简介。
填写导入任务基本信息,自定义任务名称和任务描述。
选择数据源类型为文件上传,并上传示例文件用于定义任务和解析 Schema。
单击点击这里或拖动文件到上传区域,上传文件。上传后,系统将自动读取格式,您可再次确认格式是否正确。
说明
本文以导入 CSV 文件为示例,ByteHouse 也支持 JSON、AVRO、PARQUET 文件类型,其他格式的文件导入操作请参见本地小文件导入。
(可选)对于 CSV 格式的文件,您可按需配置对应的格式参数。
格式 | 配置项 | 配置说明 | 界面示意图 |
|---|---|---|---|
CSV | 表头 | 支持设置为无表头或有表头。
| |
CSV 格式 | 支持设置分隔符、引用字符、跳过行数、Null Value、编码、转义符、多行支持、忽略空格等。 |
选择导入的目标数据库和表。由于您是从创建页面的链接跳转至数据导入页面,ByteHouse 将自动填充目标数据库和表,您可再次确认此处选项已填写为目标数据库 bh_demo 和表 employees。
定义 Schema 映射。设置数据源和目标表后,系统会自动填充 Schema 映射表,生成数据源与目标表的映射关系。ByteHouse 当前支持以下 Schema 映射配置操作,您可按需调整生成的 Schema 映射。
yyyy-MM-dd'T'HH:mm:ss ( Java 默认的时间格式),注意年月日和时分秒中间用常量 T 隔开。如果您的数据使用其他格式,则需要手动配置,配置操作请参见如何配置日期解析格式?配置导入任务的加载类型和计算组,您可按需选择增量写入或全量覆盖写。
bh_demo。查询数据条数
SELECT COUNT(*) FROM employees;
插入更多测试数据
INSERT INTO employees VALUES ('Clementine', 'Adamou', 'cadamou@bytedance.com', '10510 Sachs Road', 'Klenak', '2017-9-22'), ('Marlowe', 'De Anesy', 'madamouc@bytedance.co.uk', '36768 Northfield Plaza', 'Fangshan', '2017-1-26');
根据电子邮件地址查询数据
SELECT email FROM employees WHERE email LIKE '%.uk';
以上就是 ByteHouse 云数仓版快速入门指南,更多操作说明和最佳实践说明如下: