从分区分桶、导入导出、全局字典、查询观测性等各方面的操作都已变得非常简便,易用性因此成为 StarRocks 的一大产品特色,并持续受到一线运维人员的关注和认可。 本文将简要介绍如何轻松使用 StarRocks,主要涵盖分区分桶、数据导入、数据转换以及表结构优化几个方面的内容: 分区分桶:直接使用 date_trunc() 函数来指定...
- 分区分桶:直接使用 date_trunc() 函数来指定分区方式,同时无需再考虑分桶键和分桶数量; - 数据导入:从 HDFS 或云存储上导入数据时,可以使用更简单、更符合普通 SQL 语法的 INSERT from FILES 来实现; - 数据转换:通过支持通用的 SELECT 和 JOIN 操作的 INSERT from FILES,能够更轻松、更通用地进行所需的...
GROUP BY date_trunc('hour', ts), k0; 执行后我们查看 BE 的缓存情况。其usage相关指标被填充,说明 Query Cache 已经被填充: curl http://127.0.0.1:8040/api/query_cache/stat { "capacity": 536870912, "usage": 3889, "usage_ratio": 0.000007243826985359192, "lookup_count": 42, "hit_count": 0...
在数据导入时,我们可以使用date_trunc()函数来指定分区方式,无需再考虑分桶键和分桶数量。例如,我们可以按照日期对数据进行分区,每天一个分区,这样查询时就可以只扫描需要的分区,提高查询效率。 CREATE TABLE sales ( sale_date DATE, sale_amount BIGINT ) PARTITION BY RANGE(date_trunc('day', sale_date)) ...
v2INT)PRIMARYKEY (`datekey`,`k1`)PARTITIONBYdate_trunc('day', `datekey`);CREATETABLEIFNOTEXISTStest.par_tbl3 ( datekey DATETIME, k1INT, item_id STRING, v2INT)PRIMARYKEY (`datekey`,`k1`); 但我们有三张基表,其中 1 和 2 都是分区表,但是 3 是非分区表。
-- Q2: 语义等价的查询 SELECT ( ifnull(sum(murmur_hash3_32(hour)), 0) + ifnull(sum(murmur_hash3_32(k0)), 0) + ifnull(sum(murmur_hash3_32(__c_0)), 0) ) AS fingerprint FROM ( SELECT date_trunc('hour', ts) AS hour, k0, sum(v1) AS __c_0 FROM t0 WHERE ts between...
PARTITION BY date_trunc('day', event_day) DISTRIBUTED BY HASH(event_day,site_id) BUCKETS 10; -- 可以不再需要指定 在导入数据时,如果数据是存储在 AWS S3/HDFS 上的 Parquet/ORC 格式文件,用户可以很简单地直接采用INSERT+FILES()表函数来导入数据,FILES 表函数会自动进行 table schema 推断,做到数据拿...
PARTITION BY date_trunc('day', event_day) DISTRIBUTED BY HASH(event_day,site_id) BUCKETS 10; -- 可以不再需要指定 在导入数据时,如果数据是存储在 AWS S3/HDFS 上的 Parquet/ORC 格式文件,用户可以很简单地直接采用 INSERT+ FILES()表函数来导入数据,FILES 表函数会自动进行 table schema 推断,做到数...
您只需要在包含时间函数的分区表达式中,指定一个 DATE 或者 DATETIME 类型的分区列,以及指定分区粒度(年、月、日或小时)。借助这种使用表达式(date_trunc/time_slice)分区方式,您不需要预先创建出大量分区,StarRocks 会在写入新数据时根据实际数据自动创建对应分区。
在这个例子中,DATE_TRUNC('week', sale_date)确保sale_date被截断到周的起始日期(假设周一是周的开始)。 3. 数据插入时的日期格式问题 在插入数据时,如果日期格式不正确或者与分区键的类型不匹配,也可能会导致日期计算错误。 解决方案: 确保插入数据时使用的日期格式与分区键的类型匹配。例如,如果分区键是DATE类...