记 doris - 开发问题与解决系列

查看load 建表语句

show create routine load for load_name;

load 任务异常查看sql

SHOW ROUTINE LOAD for load_ods_spc_location_change
在这里插入图片描述

ODBC 和 OLAP 在where 条件日期转字符串查询无数据问题

ods.ods_abnormal_alarm_details 是ODBC 表,查询没数据
要写成a.alarm_date= ‘2024-10-17’

select alarm_date,* 
from ods.ods_abnormal_alarm_details a 
where 1=1  
     AND cast(a.alarm_date AS varchar) = '2024-10-17' 

ods.ods_abnormal_alarm_details 是OLAP 表,查询有数据

select alarm_date,* 
from ods.ods_abnormal_alarm_details a 
where 1=1  
     AND cast(a.alarm_date AS varchar) = '2024-10-17'

不支持多表关联跨表字段聚合计算

SELECT
mat.tenant_id, mat.org_id ,
sum(case when serv.priorservresult in (0,2,4,5) and rel.match_value <= rule.match_value then 1 else NULL end) as numerator
from mat
left join serv
on serv.animal_id = mat.animal_id
and serv.servdate = mat.event_date
and serv.parity = mat.total_parity
left join rel on rel.sow_animal_id 
### 关于 Doris 数据库生成工具或数据生成 Doris 是一种高性能的分布式数据分析型数据库,广泛应用于实时分析场景。为了满足测试需求或者模拟生产环境中的大规模数据量,通常会借助一些专门设计的数据生成工具来创建符合特定模式和分布特性的数据。 #### 1. **Apache DBGen 工具** 对于 Doris 或其他类似的 OLAP 数据库来说,可以利用 Apache DBGen 这样的开源工具生成大量具有实际意义的测试数据[^5]。DBGen 原本是为了 TPC-H 测试基准而开发的一个程序包,它可以按照指定的比例因子(Scale Factor, SF)生成一系列标准的关系型表格及其对应的内容。尽管它最初针对的是传统的 RDBMS 系统,但由于其灵活性高以及能够提供丰富的业务逻辑背景下的样本录,所以也被移植到了多种现代存储引擎上使用。 #### 2. **自定义脚本方式** 如果现有的通用解决方案无法完全匹配项目具体要求,则可以通过编写 Python/Java 脚本来实现定制化的随机数序列填充过程。例如,在 Pandas 库的帮助下快速构建 DataFrame 并将其写入 CSV 文件供后续导入至 Doris 表格中: ```python import pandas as pd import numpy as np data = { 'id': range(1, 1001), 'name': ['User' + str(i) for i in range(1, 1001)], 'age': np.random.randint(low=18, high=60, size=(1000,)) } df = pd.DataFrame(data) # Save to csv file which can be loaded into Doris later. df.to_csv('users.csv', index=False) ``` 此方法允许开发者精确控制每一列的数据类型、范围以及其他属性特征,从而更好地适配下游应用层面对输入源的质量预期。 #### 3. **Faker 类库辅助伪造真实感强的信息条目** Python 社区维护了一个名为 `faker` 的第三方模块,专攻制造假名地址电话号码电子邮件等个人信息片段的同时还能兼顾多国语言支持特性。结合上述提到的手动编码技巧一起运用的话,就可以轻松打造出既具备统计学意义上的合理性又贴近日常生活情境的大批量虚拟客户档案集合了。 安装命令如下所示: ```bash pip install faker ``` 一段简单的演示代码可能看起来像这样子: ```python from faker import Faker fake = Faker() records = [{'full_name': fake.name(), 'email': fake.email()} for _ in range(10)] print(records[:2]) ``` 输出结果类似于: ```plaintext [{'full_name': 'John Doe', 'email': '[email protected]'}, {'full_name': 'Jane Smith', 'email': '[email protected]'}] ``` 这些由 Faker 提供的功能非常适合用来充实那些需要展示给最终用户的界面原型或者是训练机器学习模型所需的标注样例集等方面的应用场合。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值