首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL 开发任务超 50% !滴滴实时计算的演进与优化

到 2019 年为止,滴滴基本上完成了流计算引擎的统一,除了少量残留的历史业务之外,现在绝大多数业务都是以 Flink 为基础的,目前在滴滴通过 SQL 开发任务也已经超过了 50%,SQL 开发成为了主流方式...流计算集群的规模大致在千台级别,目前流计算任务数达到了 3 千多个,其中绝大多数是使用 SQL 开发的,集群每天处理的数据量会达到上万亿条。...因为目前大部分业务是基于 SQL 开发的,因此 IDE 需要承担非常重要的职责,在 StreamSQL IDE 里面除了提供了本身的 SQL 之外,还提供了 SQL 模板,如果用户想要开发流式 SQL...多语言:虽然今天在滴滴大部分实时任务都是通过 SQL开发的,但是依旧不能100%覆盖全部的场景,有些场景下是需要写代码的。...的能力,比如写 SQL,而 UDF 也可以通过多语言来开发

52220

Flink1.16 SQL Gateway 迁移Hive SQL任务实战

使用Flink的SQL Gateway迁移Hive SQL任务 前言 我们有数万个离线任务,主要还是默认的DataPhin调度CDP集群的Hive On Tez这种低成本任务,当然也有PySpark、打...毕竟SQL上手门槛极低,是个人都能写几下并且跑起来,还可以很容易看到run成功的数据长得像不像。其实HQL任务的性能并不会好到哪里去,主要是SQL Boy便宜,无脑堆人天就可以线性提升开发速度。...SQL解析 在SQL Boy们眼里最重要的SQL,其实在Java和C#种也就是个普通的String字符串,走JDBC传参或者ADO.NET,如果是开发个AD Hoc即席查询平台,单从功能角度,其实都不需要关心租户们传的...前端支持Rest和Hive Server2,对Java开发人员和SQL Boy们都很友好。 HS2Endpoint 有点区别: 优势 尤其是处理异构数据源: 优势很明显。...可以看到流式的SQL任务开发成本肯定比Java和Scala写DataStreaming算子低!!!利好SQL Boy。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring Cloud Task 任务开发-定义任务输入和输出(一)

    引言在使用Spring Cloud Task进行任务开发时,任务的输入和输出是非常重要的。任务输入任务输入指的是任务所需要的输入数据。...Spring Cloud Task也支持通过命令行传递任务输入参数。例如,我们定义了一个任务,需要传递一个字符串类型的参数。...Spring Cloud Task也支持通过环境变量传递任务输入参数。例如,我们定义了一个任务,需要传递一个字符串类型的参数。...Spring Cloud Task也支持通过文件传递任务输入参数。例如,我们定义了一个任务,需要处理一个XML文件。...Spring Cloud Task也支持通过数据库传递任务输入参数。例如,我们定义了一个任务,需要处理数据库中的数据。

    48751

    SpringBoot开发azkaban Java类型任务

    在上篇文章手把手教你安装 azkaban 运行环境中,详细介绍了azkaban服务的安装,现在就用SpringBoot来开发一个azkaban的调度任务,上传到web界面运行。...,官方网站地址:http://xiaoshuai.github.io/azkaban-gh-pages/#new-hive-type 开发Java类型任务 接下来就来开发一个Java类型的任务,上传azkaban...) charset utf8 null, `desc`varchar(255) charset utf8 null ); 表结构: 表结构.png 插入要查询的数据: 插入要查询的数据.png 任务开发...public interface TsUserinfoDao {    List queryAllUserInfo(); } TsUserinfoDao.xml 编写mybatis sql...到这里,一个azkaban简单的java类型的任务开发完了,当然还可以在界面设置调度周期等。 本文首发于公众号【Java技术编程】,欢迎关注。

    98700

    敏捷开发-任务拆解、工作量评估和任务指派

    任务拆解和评估 任务拆解和评估是一项需要非常细致、需要经验的活,通常一般由Team Leader来拆解、评估人天和指派人员。 有的人说你这是假敏捷。...任务拆解原则 我们的任务拆解有两个重要的原则 1)高价值优先原则 2)粒度不要超过3人天。 高价值任务优先拆解:拆解任务时,优先拆解高价值的任务。...任务粒度要不超过3人天,也就是说如果一个任务需要三人天内完成。三天内没有完成是一件非常严重的事情。...我们期望能保持小粒度的任务,每天都有进展,而不是一个个巨大的任务分配下去后半个月都没进展,这样会导致团队成员对任务没有感知度,项目很大程度上会失控,最后交付日期出现「惊吓」的结局。...本文小结 本文主要讲了我们在敏捷开发实践中的一些做法,包括 Team Leader 拆解任务、评估工作量和指派人员完成任务,我们认为这样做对于整个团队是最高效的、风险也是最小的;对于任务拆解,我们主要有两个大原则

    26300

    大数据开发:MapReduce任务流程

    今天的大数据开发分享,我们主要来讲讲MapReduce具体的任务流程。 MapReduce的任务流程,简单点来说,先进行数据拆分,一个大的MapReduce作业,会被分解为多个小的Map任务。...MapReduce中有一个InputFormat类,它会完成如下三个任务: 验证作业数据的输入形式和格式。...将输入数据分割为若干个逻辑意义上的InputSplit,其中每一个InputSplit都将单独作为Map任务的输入。也就是说,InputSplit的个数,代表了Map任务的个数。...虽然MapReduce作业可以接受很多种格式的数据,但是Map任务接收的任务其实是键值对类型的数据,因此需要将初始的输入数据转化为键值对。...关于大数据开发,MapReduce任务流程,以上就为大家做了简单的介绍了。

    1.1K10

    Spring Cloud Task 任务开发-定义任务输入和输出(二)

    任务输出任务输出指的是任务的执行结果。Spring Cloud Task支持多种方式来输出任务结果,例如命令行输出、日志输出、数据库等。下面我们将分别介绍这些方式的使用方法。...命令行输出在任务执行完成后,可以通过命令行输出任务结果。例如,我们定义了一个任务,需要输出一个字符串类型的结果。...System.out.println("Task result: " + result); }}日志输出在任务执行完成后,可以通过日志输出任务结果。...LOGGER.info("Task result: {}", result); }}数据库在任务执行完成后,可以将任务结果保存到数据库中。...例如,我们定义了一个任务,需要将结果保存到数据库中。

    34681

    Spring Cloud Task 任务开发-实现任务处理逻辑(一)

    在上一篇文章中,我们介绍了如何定义任务的输入和输出。本文将进一步探讨如何实现任务处理逻辑。Spring Cloud Task中的任务处理逻辑可以是任何Java代码。...下面我们以一个简单的示例来说明如何实现任务处理逻辑。假设我们需要开发一个任务,该任务的目的是将输入的字符串反转,并将结果输出到控制台和日志中。...我们可以按照以下步骤来实现这个任务:创建一个Task类首先,我们需要创建一个Task类,该类必须实现Task接口,该接口定义了任务的执行方法:public interface Task { /**...* 执行任务 * @param taskContext 任务上下文 */ void execute(TaskContext taskContext) throws Exception...;}在Task类中,我们需要实现execute方法,该方法接收一个TaskContext对象作为参数,该对象用于获取任务输入和设置任务输出。

    26631

    如何用 Python 执行常见的 Excel 和 SQL 任务

    有些人使用 Excel,有些人使用SQL,有些人使用Python。对于某些任务,使用 Python 的优点是显而易见的。以更快的速度处理更大的数据集。使用基于 Python 构建的开源机器学习库。...大多数数据分析师可能熟悉 SQL 或 Excel。本教程是涉及帮助你将技能和技术从 EXcel 和 SQL 转移到 Python。 首先,让我们来设置 Python。...导入数据 你可以导入.sql 数据库并用 SQL 查询中处理它们。在Excel中,你可以双击一个文件,然后在电子表格模式下开始处理它。...我们将要重命名某些列,在 Excel 中,可以通过单击列名称并键入新名称,在SQL中,你可以执行 ALTER TABLE 语句或使用 SQL Server 中的 sp_rename。...如果你可以弄清楚,你将会很好地将 SQL 或 Excel 知识转移到 Python 中。

    10.8K60

    SQL审核 | 如何利用 OpenAPI 实现自己的扫描任务

    ---一、SQLE 介绍SQLE 是一款由爱可生开源社区发起,面向数据库开发与管理人员,实现了 SQL 的「开发」-「测试」-「上线」等全流程覆盖,资源与权限精细化管理,兼顾简洁与高效,易维护、易扩展的的开源项目...,由 sqle 解析扫描 sql 、也可以将 Mybatis 传输到 sqle 中扫描解析其中的 sql ,所以 sqle 的智能扫描任务是非常强大的,那智能扫描能解析那些数据呢?...) "audit_plan_sql_schema": "db1" #还不知道 } ] }经过发送后就可以在该扫描任务的详情页面看到你的sql图片在这个任务到达审核时间...,就会自动审核该任务并反馈审核结果图片这两个接口分为全量同步和增量同步,全量同步会覆盖之前的记录,而增量同步会在之前的记录下新增有这个 api 我们就可以将智能扫描任务和我们的日常开发运维连接起来,实现审核.../sqle-docs-cn/3.modules/3.6_auditplan/introduction.html)五、总结sqle 的智能扫描任务的覆盖面很广,而且可以高度自定义,在日常的开发运维中可以自动帮助我们解析

    1.5K40

    PostgreSQL SQL 开发规范 试行

    PostgreSQL 不少的单位已经开始部署了,对于外包的开发,甲方也需要有相关的规范给出,虽然比MYSQL 的要求要少了不少,但该注意的还是要注意。...JAVA承接的数据类型是INT(MYSQL),是可以用JAVA的STRING类型承接,但是POSTGRESQL(INT)类型JAVA是不能用STRING类型承接,必须用整型INT,同时反过来也是一样,所以开发者们请注意...23 POSTGRESQL 表操作中,表必须有别名,操作SQL不能带有子查询 24 创建表必须带有表注释,和列注释,主键命名应有前缀并在整体开发中统一命名,系统中严禁出现触发器和DBLINK,使用序列也应有统一的命名规则...,索引的命名也要有相关的命名规则 25 操作SQL应用where 条件代替having字句,避免大量IN 的条件的元素控制在10个以内,JOIN 操作必须使用INNER JOIN ,只有在逻辑条件中必须使用

    2.1K20
    领券