第3页,共53页。 显示 529 条结果 (0.024 秒)
查询预览报错:数据库执行sql偶现报Broken pipe或提示查询超时
(TIOStreamTransport.java:145) ... 70 more 解决方案 此报错是由于数据库服务器端会定时断开连接,而数据源设置"获取连接时测试"、"返还时测试"、"获取、返还连接时测试"方式,并没有设置校验语句导致,关于连接池、校验方式、校验语句的逻辑如下: (1)当设置校验方式为"获取连接时测试"、"返还时测试"、"获取、返还连接时测试",但没有设置校验语句时,处理逻辑是直接将数据集执行的SQL拿到数据库中执行,此时因为数据库已将连接断开了,则出现超时的错误。 (2)当设置校验方式为"获取连接时测试"、"返还时测试"、"获取、返还连接时测试",但设置了校验语句时,会先将校验语句拿到关系数据源连接
连接数 当数据源启动连接池时,连接池中最多能包含多少个数据库连接。 连接池等待时间(秒) 当连接池满时,再获取等待的时间,若没有获取到就提示。 默认值为“-1”,表示无限等待。 校验语句 数据源连接进行校验的SQL语句。 注:因安全问题,校验语句当前仅支持一条语句或留空,非空时必须是以 select 开头的语句,如:select 1 包含下面几种方式,默认为获取连接时测试。 获取连接时测试:获取连接池时进行SQL语句测试,每一次查询的时候,都会从连接池拿到一个空闲连接,先执行配置的校验语句去执行,判断这个连接是否可用,若不可用则会重新获取一个连接,如果没有配置校验语句,有可能会出现使用已经失效数据挖掘-参数设置
参数,选择参数值后为静态参数值。 5、在关系数据源参数的SQL语句输入框中,只需要输入where之后的语句。可输入静态条件,如name=zs,或使用含参数的语句:CategoryName=${param} (表头真名=${参数名}) image2021-4-14_10-31-26.png 在查看输出中选 … 使用参数来实现增量抽取。 1、首先连接好数据源和目标源节点。 增量.png 2、在参数定义中编写sql获取当天的日期。 增量1.png 2、返回到ETL界面中,把刚刚新建的参数定义在ETL里。 增量2.png 增量3.png 3、在关系目标源中的SQL语句编辑框中填写如图的内容,即可抽取前三天至今新增即席查询(旧)计算字段"参与分组"设置项两个选项的区别
(本文档仅供参考) 问题说明 在即席分析中可以新建计算字段,计算字段的设置项中有一个设置项“参与分组”,那么选择“自动”和“否”的时候有什么区别呢? 解析 实际“参与分组”的设置项主要是针对是否需要在内嵌套查询中生成对应的group by语句。 如果选择”自动“: 1)其它字段有设置聚合(比如sum、count等)那么会把该计算字段拼接在外层的group by语句中分组,具体分析如下: 非计算字段涉及的其他字段如果设置了聚合操作,如下图: image2021-9-3_11-20-36.png 这时候在最终的执行SQL中会拼接在外层的group by语句中分组,最终执行SQL如下电子表格⬝ 回写
', 'db', 'tablename' ) SETTINGS remote_table_is_ha_unique = 1 2、smartbi配置的主键必须和bytehouse配置的唯一键匹配,否则会导致执行删除语句失败 3、bytehouse数据库不支持文件字段类型,如BOLB 4、在smartbi中,smartbi只会执行插入语句,因此配置的主键本质上是失效的,因此无法实现以下效果: 1)更新某一条记录的唯一键:如:update table set id = ? where id=? 2)依据smartbi配置的主键对数据库进行更新。如:update table set name = ? where createtime关系数据源连接
。 默认值为“-1”,表示无限等待。 连接池连接空闲时间(秒) 创建连接池以后,空闲了多久后就丢弃关闭该连接池。 SQL语句允许最大执行时长(秒) 1、当SQL语句执行的时间超过设置的最大执行时长,则自动终止执行,提示查询超时。 默认值为“-1”,表示不限制。填写具体的数字比如30,则代表执行时长如果超过设置的时长,会终止执行并提示。 超时: 是通过驱动调用Statment.setQueryTimeout实现的,只要数据库驱动和数据库服务器支持这个接口,就可以支持。 数据抽取不受超时设置的控制。 校验语句 数据源连接进行校验的SQL语句。包含下面几种方式,默认为获取连接时测试回写 - 如何实现只insert而不是update
(本文档仅供参考) 问题 表单补录的报表,如果填报时,回写规则的主键数据和之前保存的数据是一样的,会进行update操作,而不是insert操作,如何实现只执行insert操作? 1.png 解决方案 可以在excel中用now()或者随机函数作为主键,回写进数据库,这样每次回写的时候主键不会相同,会执行insert语句。因为回写报表是在非插入行的情况下,是先执行update语句再执行其他语句的,因此如果是基于固定表单上的原有的数据进行更改,这时候满足update语句,因此在数据库中是执行update操作。 强制新增不更新 只新增不更新使用Smartbi多维引擎监控
。 5 垃圾回收活动 可以查看SmartbiOLAP的所有垃圾回收活动。 6 SQL监控 用于通过查看执行的SQL语句定位问题。现在SQL语句只保留了1000条,超出了会自动清理。 7 MDX查询监控 通过用户请求生成的MDX语句来定位问题;现在MDX语句只保留了300条,超出了会自动清理。 8 MDX运行示例 可直接通过MDX语句,查看运行出来的数据情况 9 缓存 单独清空SmartbiOLAP的这台机器的缓存信息。一旦清空会清楚所有数据模型的缓存。 10 导出日志 导出SmartbiOLAP的日志信息 11 系统配置 同步Smartbi外部驱动配置自助ETL-关系目标源
、VASTBASEG100。注意:如不支持的数据库则不会显示表别名输入框。 image-2024-08-12-10-30-05-537.png 5. 回退SQL语句 回退SQL语句用于在插入数据前先把满足条件的数据删除,可实现增量删除。 无(默认); 执行前删除数据:根据填写的删除sql语句条件,可实现在插入数据前先把满足条件的数据删除掉。 关系目标表(追加)、关系目标表(插入或更新)节点支持回退模式功能。 勾选回退SQL语句,在删除sql语句框中填写删除语句(条件SQL使用表头真名)。 image2024-6-11_10-33-16.png 如下图,根据条件会先删除订单日期为”2024-02-28“的数据,然后根据SQL数据集
是通过在文本区中输入SQL语句,来定义数据集条件和内容的一种数据集。对于熟悉SQL语句的技术人员来说,这是一个较为快捷创建的方式。 关于SQL数据集的创建入口、资源显示和使用,统一通过V10.5 license控制。如希望在V10.5版本中继续使用SQL数据集,则需更新授权包含SQL数据集的license文件。 纯SQL问题的解答: SQL数据集可以是纯SQL语句,但是如果在SQL数据集中用到“参数”、“用户属性”、“系统函数”等系统资源,必须把资源拖到SQL语句对应的位置,不能手写。 包含这类资源的SQL数据集就不是纯SQL。 嵌套问题的解答: SQL数据集需要嵌套运行。 如文本语句select