想问一下大家平常开发ADB数仓用到的技术和流程[阿里云]

我想问一下开发数仓用到的技术,阿里云的ADB提供了三种

  1. sql开发可以直接在页面执行sql,但是对复杂业务处理数据好像不太方便。
  2. spark jar开发,可以通过java去编写程序进行处理数据,我想请问下是有多个任务节点的话需要多个jar包去排序执行任务吗。
  3. notebook开发,这个是可以用到spark引擎的吗,我见里面是一个一个代码块在一起的。

我想问一下大家,平常主要通过哪种任务进行开发呢,包括开发流程,然后还有开发后要在ADB自动执行之类的
比如:通过spark jar开发,对每一个业务进行开发流程,然后上传spark jar,通过作业调度去执行jar文件。
谢谢

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 阿里云的MaxCompute(ADB)提供了三种开发方式:SQL开发、Spark Jar开发和Notebook开发。

    1. SQL开发:可以直接在页面执行SQL语句,适用于简单的数据处理任务。但对于复杂的业务处理数据可能不太方便。

    2. Spark Jar开发:通过Java编写程序进行处理数据,可以处理更复杂的业务逻辑。如果有多个任务节点,需要为每个任务节点分别打包一个Jar包,并在作业调度中指定相应的Jar包进行执行。

    3. Notebook开发:可以使用Spark引擎进行数据处理,适合快速原型开发和数据分析。Notebook中的代码块可以一起执行,也可以单独执行。

    平常的开发方式主要取决于具体的业务需求和技术栈。一般来说,对于简单的数据处理任务,可以选择SQL开发;对于复杂的业务逻辑,可以选择Spark Jar开发;对于快速原型开发和数据分析,可以选择Notebook开发。

    开发流程一般包括以下几个步骤:

    1. 需求分析:了解业务需求,确定数据处理的目标和要求。

    2. 数据建模:根据需求设计数据模型,包括表结构、分区策略等。

    3. 数据处理:编写数据处理逻辑,可以选择SQL、Java或Python等编程语言。

    4. 调试测试:对编写的程序进行调试和测试,确保数据处理结果符合预期。

    5. 作业调度:将编写好的程序打包成Jar包,并通过作业调度系统进行定时执行。

    6. 监控优化:对运行中的作业进行监控,发现并解决潜在问题,优化数据处理性能。

  2. ADB 数据仓库的信息,在日常的 ADB 数据仓库开发中常常用到的技术包括:

    1. 数据建模:在设计阶段创建数据模型,并利用图灵完备的数据建模语言构建关系数据库的数据模型;
    2. SQL 查询优化:通过索引、缓存等技术提高查询效率;
    3. ETL 流程:使用 ADB 中的 Spark Streaming 和 DataStream API 实现数据集成、清洗和转化的过程;
    4. BI 报表生成:利用 Tableau、PowerBI 等 BI 工具进行报表制作和展示;
    5. 用户权限管理:设置合适的用户角色权限,确保安全性及灵活性。

    下面是大概的流程:

    1. 构建 ADB 数据仓库架构,并配置相应的元数据管理工具;
    2. 数据集成:采集各种来源的数据,将它们整合在一起形成完整的数据分析视图;
    3. 数据清洗与预处理:消除冗余和异常的数据;
    4. ETL:建立数据流转管道,并按照业务需求进行数据转换;
    5. OLAP 分析:使用 Hive、SparkSQL 等工具进行复杂的数据分析;
    6. 反馈及监控:定期监控并分析数据仓库的性能指标,及时发现问题并提出解决方案;
    7. 数据可视化:利用 BI 工具进行报表展示。