最近更新时间:2023.07.03 19:37:44
首次发布时间:2021.12.02 16:58:43
LAS Spark 任务适用于定时执行 Spark 离线任务的场景,支持 Jar 包资源和 Python资源引用的方式。
项目已绑定 湖仓一体分析服务(LAS)引擎,操作详见:新建项目。
登录 DataLeap租户控制台 。
在 概览 界面,显示加入的项目中,点击 数据开发 进入对应项目。
在 任务开发 界面,左侧导航栏中,点击 新建任务 按钮,进入 新建任务 页面。
选择任务类型:
分类:数据开发。
绑定引擎:LAS。
关联实例:显示项目绑定时的引擎实例信息 default。
选择任务:离线数据 LAS Spark 。
填写任务基本信息:
任务名称:输入任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。
保存至: 选择任务存放的目标文件夹目录。
点击 确定 按钮,成功创建任务。
在任务配置界面完成以下参数配置。
语言类型支持 Java、Python。
注意
语言类型暂不支持互相转换,切换语言类型会清空当前配置,需谨慎切换。
语言类型选择 Java 时,资源类型支持 Jar 资源包的形式,可以按以下方式选择资源:
从资源库选取已有的 jar 资源
新建资源,详见:资源库。
语言类型选择 Python 时:
资源类型默认选择 Python 类型,且需选择资源所关联的 LAS Schema 库信息。
在编辑器中输入 Python 语句,执行引擎只支持 Python3.7。示例脚本如下:
from pyspark import SparkFiles from pyspark.sql import SparkSession from pyspark.sql import SQLContext job_name='pyspark_test_on_las' spark = SparkSession.builder.appName(job_name).getOrCreate() spark.sql("select 1").show(10) spark.stop()
注意
设置系统环境变量时,避免直接覆盖系统环境变量,请按照追加方式指定,例如PATH=$PATH:/home/lihua/apps/bin/
;
参数 | 说明 |
---|---|
Spark 参数 | |
Main Class/Py-files |
|
Conf参数 | 配置任务中需设置的一些 conf 参数,例如您可通过
您可通过以下两种方式来进行配置:
|
任务参数 | |
自定义参数 | 输入任务中已定义的参数,多个参数以空格形式进行分隔,例如 param1 param2 param3,参数最终将以字符串形式传入。 |
任务产出数据登记,用于记录任务---数据血缘信息,并不会对代码逻辑造成影响。对于系统无法通过解析获取产出信息的任务,可手动登记其产出信息。
如果任务含有 LAS 表的写入操作,强烈建议填写。您填写的内容即为任务产出,支持填写多个。其他任务的依赖推荐会根据此处填写的 LAS 表信息进行推荐。 具体登记内容包括:
数据类型:选择 LAS 时,需下拉选择当前任务写入数据的 LAS 数据库和数据表信息。
其他:该任务不写数据到 LAS 表。
以下示例将为您演示如何通过 LAS Spark 任务中 Python 语言方式,来直接访问 LAS 表中的数据。
新建 LAS SQL 作业,操作详见:LAS SQL。
在代码编辑区,编辑并执行以下示例语句,创建 LAS 示例表,并将数据写入表中:
CREATE TABLE IF NOT EXISTS test_schema.student_demo ( id INT COMMENT 'id', name STRING COMMENT 'name', age INT COMMENT 'age' ) PARTITIONED BY (date STRING COMMENT 'date partition'); INSERT INTO test_schema.student_demo PARTITION (date = '20230518') VALUES(1, 'TOM', 10);
新建 LAS Spark 任务,详见上方新建任务。
进入任务配置界面,语言类型选择 Python。
选择库表资源所需关联的 LAS Schema 库信息:test_schema。
在代码编辑区域,编辑以下相关 Python 查询语句:
from pyspark import SparkConf from pyspark.context import SparkContext from pyspark.sql import SparkSession, SQLContext SparkContext._ensure_initialized() #spark = Sparksession._create_shell_session () spark = SparkSession.builder \ .appName("pyspark_test_las") \ .config("spark.sql.tunnel.enabled", "true") \ .config("spark.sql.tunnel.access.key.id", "AccessKey ID")\ .config("spark.sql.tunnel.secret.access.key", "AccessKey Secret")\ .config("spark.sql.tunnel.endpoint","100.96.4.12:80") \ .config("spark.sql.tunnel.service.region","cn-beijing") \ .config("spark.sql.extensions","org.apache.spark.sql.LASExtension") \ .enableHiveSupport() \ .getOrCreate () sc = spark.sparkContext sql = spark.sql sqlContext = spark._wrapped sqlCtx = sqlContext df = sql("select * from test_schema.student_demo WHERE date='20230518';") df.show() spark.stop()
替换参数说明:
参数 | 说明 |
---|---|
appName | 自定义 Spark 任务名称。 |
AccessKey ID | 可前往访问控制的密钥管理中查看 Access Key ID。相关操作说明请参见 Access Key(密钥)管理。 |
AccessKey Secret | 可前往访问控制的密钥管理中查看 Secret Access Key。相关操作说明请参见 Access Key(密钥)管理。 |
任务配置完成后,您可单击操作栏中的保存和调试按钮,进行任务调试。
注意
调试操作,直接使用线上数据进行调试,需谨慎操作。
待任务执行成功后,您可进入火山引擎控制台:
搜索访问 LAS 服务,单击进入 LAS 控制台 > 作业管理 > SparkJar 作业界面。
在作业列表界面,单击右侧操作列中的日志按钮,进入到 SparkJar 作业详细日志界面。
单击 Driver 日志页签,并搜索数据关键字信息,从日志中查看 LAS 表数据查询结果。
调试任务成功,并查看日志校验数据情况无误后,返回数据开发界面,单击 LAS Spark 任务编辑界面上方的提交上线按钮,在弹窗中,需先通过提交事前检查和提交上线等上线流程,最后单击确认按钮,完成作业提交。详见概述---离线任务提交。
注意
上线流程中的“提交事前检查”,需租户主账号或项目管理员先在项目控制台 > 流水线管理中,创建相应的流水线检查事宜后方可显示。详见流水线管理。
后续任务运维操作详见:离线任务运维。