问题一:Explorer是什么数据库,它的对标产品有哪些?
Explorer是什么数据库,它的对标产品有哪些?
参考回答:
Explorer是一款蚂蚁自研的海量数据规模下低延时响应的实时分析型(OLAP)数据库。它的对标产品有业界的ClickHouse和阿里的云原生数据仓库AnalyticDB。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/642297
问题二:导致Blink任务频繁失败重启的直接原因是什么?
导致Blink任务频繁失败重启的直接原因是什么?
参考回答:
直接原因是Explorer集群中负载不均匀。部分机器负载过高,大批量写入时CPU使用率很高,导致写入响应慢,最终造成写入超时报错,从而使得Blink任务失败重启。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/642298
问题三:如何通过优化Explorer表的分片数来均匀机器负载?
如何通过优化Explorer表的分片数来均匀机器负载?
参考回答:
表的分片数应根据集群的机器数量进行调整。例如,如果集群机器有14台,可以通过设置"hash_bucket"为14,使得链接都均匀分布在14台机器上,避免部分机器负载过高。具体的配置可能如下:
json { "shardConfig_partition_columns": "test_column", "hash_bucket": "14", "update_model": "Row", "shardConfig_task_replicants": "2", "storage_engine": "test_engine", "storage_explorer_tier": "test" }
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/642299
问题四:如何调整Blink与Explorer之间的超时配置?
如何调整Blink与Explorer之间的超时配置?
参考回答:
Blink与Explorer之间的超时配置可以通过调整JDBC链接中的connectTimeout和socketTimeout参数来实现。connectTimeout是Blink与Explorer TCP建联的超时时间,而socketTimeout是Blink到Explorer TCP读写数据的超时时间。例如,可以在创建Explorer结果表时配置如下:
sql create table explorer_output( user_id varchar, request_id varchar, ..., primary key(rowkey) ) WITH ( `user`='test_name', `url`='jdbc:mysql:///${test_ip}/cheetah?characterEncoding=utf8&autoReconnect=true&connectTimeout=10000&socketTimeout=30000&rewriteBatchedStatements=true', `zdalpassword`='${test_password}', `tablename`='test_table', `type`='explorer', `cache`='ALL', `batchInsertSize`='20000', `partitionBy`='rowkey' )
其中,可以适当调大socketTimeout的值来减少报错频率。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/642300
问题五:在Blink SQL逻辑优化中,如何通过去重减少输出到sink算子的数据量?
在Blink SQL逻辑优化中,如何通过去重减少输出到sink算子的数据量?
参考回答:
在Blink SQL逻辑优化中,去重减少输出到sink算子的数据量可以通过两种方法实现。第一种方法是使用HAVING COUNT(*) = 1,但这在实际测试中被发现可能会导致数据丢失。第二种更有效的方法是使用ROW_NUMBER()窗口函数,通过PARTITION BY对特定维度进行分组,并使用ORDER BY对日志时间排序,然后选择每个分组的第一条记录。
关于本问题的更多回答可点击原文查看: