aspit网站源码带手机版,14个seo小技巧,电子商务平台开发内容,泉州网站建设哪家好在实际业务中#xff0c;用户会基于不同的产品分别构建实时数仓和离线数仓。其中#xff0c;实时数仓强调数据能够快速入库#xff0c;且在入库的第一时间就可以进行分析#xff0c;低时延的返回分析结果。而离线数仓强调复杂任务能够稳定的执行完#xff0c;需要更好的内…在实际业务中用户会基于不同的产品分别构建实时数仓和离线数仓。其中实时数仓强调数据能够快速入库且在入库的第一时间就可以进行分析低时延的返回分析结果。而离线数仓强调复杂任务能够稳定的执行完需要更好的内存管理。
ByConity 是一款开源云原生数据仓库可以满足用户的多种数据分析场景。
ByConity 增加了 bsp 模式可以进行 task 级别的容错更细粒度的调度基于资源感知的调度。希望通过 bsp 能力把数据加工T的过程转移到ByConity 内部能够一站式完成数据接入、加工和分析。
一、测试环境 二、登录环境
1、命令行登录ECS
MacOS / Linux 可以通过Shell(终端)应用来完成SSH连接远程服务器。打开终端输入ssh -p 23 提供的用户名ECS服务器IP地址并回车确认。 Windows10以上可以使用自带cmd命令行来登录。也可以用最新版本的putty。 2、为避免使用时超时自动断开连接请运行tmux new -s $user_id如 tmux new -s user0001命令创建一个新的tmux会话其中$user_id是可以自定义的会话名称。
3、执行 clickhouse client --port 9010命令进入客户端。 三、执行查询
1、使用测试用数据库 test_elt
use test_elt 2、由于TPC-DS定义的查询语法为标准 SQL设置数据库会话的方言类型为 ANSI
set dialect_type ANSI 3、选择 TPC-DS 的 99 个查询中你希望的执行SQL 列表见 https://github.com/ByConity/ByConity/tree/master/tests/optimizers/tpcds/queries。其中部分查询会因为内存限制而执行失败常见会执行失败的查询为q78请优先选择 q78 以便执行步骤 4。
with ws as(select d_year AS ws_sold_year, ws_item_sk,ws_bill_customer_sk ws_customer_sk,sum(ws_quantity) ws_qty,sum(ws_wholesale_cost) ws_wc,sum(ws_sales_price) ws_spfrom web_salesleft join web_returns on wr_order_numberws_order_number and ws_item_skwr_item_skjoin date_dim on ws_sold_date_sk d_date_skwhere wr_order_number is nullgroup by d_year, ws_item_sk, ws_bill_customer_sk),
cs as(select d_year AS cs_sold_year, cs_item_sk,cs_bill_customer_sk cs_customer_sk,sum(cs_quantity) cs_qty,sum(cs_wholesale_cost) cs_wc,sum(cs_sales_price) cs_spfrom catalog_salesleft join catalog_returns on cr_order_numbercs_order_number and cs_item_skcr_item_skjoin date_dim on cs_sold_date_sk d_date_skwhere cr_order_number is nullgroup by d_year, cs_item_sk, cs_bill_customer_sk),
ss as(select d_year AS ss_sold_year, ss_item_sk,ss_customer_sk,sum(ss_quantity) ss_qty,sum(ss_wholesale_cost) ss_wc,sum(ss_sales_price) ss_spfrom store_salesleft join store_returns on sr_ticket_numberss_ticket_number and ss_item_sksr_item_skjoin date_dim on ss_sold_date_sk d_date_skwhere sr_ticket_number is nullgroup by d_year, ss_item_sk, ss_customer_sk)select top 100
ss_customer_sk,
round(ss_qty/(coalesce(ws_qty,0)coalesce(cs_qty,0)),2) ratio,
ss_qty store_qty, ss_wc store_wholesale_cost, ss_sp store_sales_price,
coalesce(ws_qty,0)coalesce(cs_qty,0) other_chan_qty,
coalesce(ws_wc,0)coalesce(cs_wc,0) other_chan_wholesale_cost,
coalesce(ws_sp,0)coalesce(cs_sp,0) other_chan_sales_price
from ss
left join ws on (ws_sold_yearss_sold_year and ws_item_skss_item_sk and ws_customer_skss_customer_sk)
left join cs on (cs_sold_yearss_sold_year and cs_item_skss_item_sk and cs_customer_skss_customer_sk)
where (coalesce(ws_qty,0)0 or coalesce(cs_qty, 0)0) and ss_sold_year1998
order by ss_customer_sk,ss_qty desc, ss_wc desc, ss_sp desc,other_chan_qty,other_chan_wholesale_cost,other_chan_sales_price,ratio 4、查询失败后在失败的 SQL 最后加上设置后再次执行
SETTINGSbsp_mode 1,distributed_max_parallel_size 12;
其中参数distributed_max_parallel_size可以设置为 4 的其他整数倍因为 Worker 的数量为4。注意要把limit 100后的分号去掉。
添加参数后执行成功。 5、选择Q67查询进行执行在执行成功的查询中添加参数限制查询的最大内存使用量如
SETTINGSmax_memory_usage40000000000;
单位为 B当前约合 37.25 GB
将内存限制为合适的值引发 oom。随后执行步骤 4完成查询。 四、测试反馈
ByConity增加的BSPBulk Synchronous Parallel模式是一个重要的功能更新旨在提升数据处理的效率和容错能力。 distributed_max_parallel_size参数用于控制分布式查询中表扫描的并行度。通过调整这个参数用户可以根据集群的资源情况和查询的需求来优化查询性能。 max_memory_usage参数用于限制单个查询在执行过程中可以使用的最大内存量。通过设置这个参数可以防止单个查询占用过多内存资源影响其他查询的执行和系统的稳定性。
通过合理调整distributed_max_parallel_size和max_memory_usage的值用户可以在保证查询性能的同时避免资源过度消耗和查询失败的风险。
ByConity的ELT能力能够简化数据处理的复杂性提高系统的响应速度和可靠性。通过将大部分转换操作留在分析阶段ByConity能够更好地适应复杂的数据处理需求特别是在实时数仓和离线数仓的场景中表现出色。