云服务器内容精选

  • 前提条件 在创建数据连接前,请确保您已创建所要连接的 数据湖 (如 DataArts Studio 所支持的数据库、云服务等)。 在创建DWS类型的数据连接前,您需要先在DWS服务中创建集群,并且具有KMS密钥的查看权限。 在创建 MRS HBase、MRS Hive等MRS类型的数据连接前,需确保您已购买MRS集群,集群的“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”,并且集群中包含所需要的组件。 在创建数据连接前,请确保您已具备连接所需的Agent代理(即 CDM 集群,如果无可用CDM集群请参考创建CDM集群进行创建),且待连接的数据湖与CDM集群之间网络互通。 如果数据湖为云下的数据库,则需要通过公网或者专线打通网络。请确保数据源所在的主机和CDM集群均能访问公网,并且防火墙规则已开放连接端口。 如果数据湖为云上服务(如DWS、MRS等),则网络互通需满足如下条件: CDM集群与云上服务处于不同区域的情况下,需要通过公网或者专线打通网络。 CDM集群与云上服务同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但是子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 此外,您还必须确保该云服务的实例与DataArts Studio工作空间所属的企业项目必须相同,如果不同,您需要修改工作空间的企业项目。 如果使用企业模式,您还需要注意以下事项: 由于企业模式下需要区分开发环境和生产环境,因此您需要分别准备对应生产环境和开发环境的两套数据湖服务,用于隔离开发和生产环境: 对于集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、E CS ),如果使用两套集群,DataArts Studio通过管理中心的创建数据连接区分开发环境和生产环境的数据湖服务,在开发和生产流程中自动切换对应的数据湖。因此您需要准备两套数据湖服务,且两套数据湖服务的版本、规格、组件、区域、VPC、子网以及相关配置等信息,均应保持一致。创建数据连接的详细操作请参见创建DataArts Studio数据连接。 对于Serverless服务(例如 DLI ),DataArts Studio通过管理中心的环境隔离来配置生产环境和开发环境数据湖服务的对应关系,在开发和生产流程中自动切换对应的数据湖。因此您需要在Serverless数据湖服务中准备两套队列、数据库资源,建议通过名称后缀进行区分,详细操作请参见配置DataArts Studio企业模式环境隔离。 对于DWS、MRS Hive和MRS Spark这三种数据源,如果在创建数据连接时选择同一个集群,则需要配置数据源资源映射的DB数据库映射关系进行开发生产环境隔离,详细操作请参见DB配置。 离线处理集成作业不支持在企业模式下运行。 例如,当您的数据湖服务为MRS集群时,需要准备两套MRS集群,且版本、规格、组件、区域、VPC、子网等保持一致。如果某个MRS集群修改了某些配置,也需要同步到另一套MRS集群上。
  • 创建数据连接 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。 在DataArts Studio控制台首页,选择对应工作空间的“管理中心”模块,进入管理中心页面。 在管理中心页面,单击“数据连接”,进入数据连接页面并单击“创建数据连接”。 图1 创建数据连接 单击“创建数据连接”,在弹出的页面中,选择“数据连接类型”为“ 数据仓库 服务(DWS)”,并参见表1配置相关参数。 图2 DWS连接配置参数 表1 DWS数据连接 参数 是否必选 说明 数据连接类型 是 DWS连接固定选择为数据仓库服务(DWS)。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线处理集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 SSL加密 是 DWS支持SSL通道加密和证书认证两种方式进行客户端与服务器端的通信。您可以通过服务器端是否强制使用SSL连接进行设置。 开关打开,即只能通过SSL方式进行通信。 开关关闭,SSL通道加密和证书认证两种方式均可进行通信。 手动 是 选择连接模式。 使用集群名模式时,通过选择已有集群名称进行连接配置。 使用连接串模式时,手动填写对应集群的IP或 域名 、端口进行连接配置,且需打通本连接Agent(即CDM集群)和DWS集群之间的网络。 DWS集群名 是 “手动”选择为“集群名模式”时需要配置本参数。 选择DWS集群,系统会显示所有项目ID和企业项目相同的DWS集群。 IP或域名 是 “手动”选择为“连接串模式”时需要配置本参数。 “IP或域名”如果手动填写,必须写内网IP,端口必须为对资源组网段放开的端口(如需设置请参见设置安全组规则),否则可能导致网络连接不通。 表示通过内部网络访问集群数据库的访问地址,可填写为IP或域名。内网访问IP或域名地址在创建集群时自动生成,您可以通过管理控制台获取访问地址: 根据注册的账号登录DWS云服务管理控制台。 从左侧列表选择实例管理。 单击某一个实例名称,进入实例基本信息页面。在连接信息标签中可以获取到内网IP、域名和端口等信息。 端口 是 “手动”选择为“连接串模式”时需要配置本参数。 表示创建DWS集群时指定的数据库端口号。请确保您已在安全组规则中开放此端口,以便DataArts Studio实例可以通过该端口连接DWS集群数据库。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 绑定Agent 是 DWS为非全托管服务,DataArts Studio无法直接与非全托管服务进行连接。CDM集群提供了DataArts Studio与非全托管服务通信的代理,所以创建DWS的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 CDM集群作为网络代理,必须和DWS集群网络互通才可以成功创建DWS连接,为确保两者网络互通,CDM集群必须和DWS集群处于相同的区域、可用区,且使用同一个VPC和子网,安全组规则需允许两者网络互通。 说明: CDM集群作为管理中心数据连接Agent时,单集群的并发活动线程最大为200。即当多个数据连接共用同一Agent时,通过这些数据连接提交SQL脚本、Shell脚本、Python脚本等任务的同时运行上限为200,超出的任务将排队等待。建议您按照业务量情况规划多个Agent分担压力。 数据源认证及其他功能配置 用户名 是 数据库的用户名,创建DWS集群时指定的用户名。 密码 是 数据库的访问密码,创建DWS集群时指定的密码。 数据集成配置 数据库名称 是 适用组件勾选数据集成后,呈现此参数。 配置为要连接的数据库名称。 单次请求行数 否 适用组件勾选数据集成后,呈现此参数。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 连接属性 否 适用组件勾选数据集成后,呈现此参数。 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: connectTimeout=360000与socketTimeout=360000:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位ms),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关;开源MySQL数据库支持useCursorFetch参数,无需对此参数进行设置。 引用符号 否 适用组件勾选数据集成后,呈现此参数。 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 单击“测试”,测试数据连接的连通性。如果无法连通,数据连接将无法创建。 测试通过后,单击“确定”,创建数据连接。
  • 静态场景样例 下文提供keep创建和create创建两种写法。 声明所有要泛化的变量,即为本例中第2-4行。 关键字merge说明是匝道合流的种子场景,即为本例中的第6行。 明确本场景中所有参数的具体值,即为本例中的第7行到最后。 scenario HighwayMerge: lane_width: length = [3m, 4m] left_lane_num: int = [0] ramp_length: length = [200m, 500m] road_aids_type: road_aids_type == "DType-1" merge_1: merge with: keep(it.lane_width == lane_width) keep(it.left_lane_num == left_lane_num) keep(it.right_lane_num == 2) keep(it.ramp_lane_num == 1) keep(it.main_speed == 120kph) keep(it.ramp_speed == 60kph) keep(it.radius_of_curvature == 200m) keep(it.ramp_length == ramp_length) keep(it.road_aids_type == road_aids_type) 声明本场景为静态场景,即为本例中第2行。 声明所有要泛化的变量,即为本例中第4行。 create_merge说明是匝道合流的种子场景,即为本例中的第6行。 函数create_merge的入参即指定本场景中的所有参数具体值,即为本例中的第6-7行。 scenario Merge: m_scene: scenery lane_width: length = [3m, 4m] my_road_aids_type: road_aids_type == "DType-1" m_straight: merge = m_scene.create_merge(lane_width: lane_width, left_lane_num: 0, right_lane_num: 2, main_speed: 120kph, ramp_speed: 60kph, radius_of_curvature: 200m, ramp_length: 300m, ramp_lane_num: 1, road_aids_type: my_road_aids_type) 父主题: 静态场景(地图)
  • 感知物体类型 由于各类仿真器对交通参与物类型的覆盖面不同,可能产生仿真器不支持某种类型,或仿真器与仿真回放中类型不匹配。 以下模型均为副车的颜色,主车ego的颜色为白色,其他车比主车颜色更深。 表2 车辆和行人 类别 标签 三维感知框/未选中 三维感知框/选中 3D模型 未知车辆/其他车辆/小型车/紧凑型轿车/中型车/豪华车 送货车/重型卡车/半挂式拖车/拖车 行人 公交车 未知/其他/轮椅 摩托车/自行车 电车/火车 暂无 动物 暂无 表3 交通信号 类型 名称 图标 信号灯 红黄绿灯 方向灯-箭头向上 方向灯-箭头向左 方向灯-箭头向前向左 方向灯-箭头向右 方向灯-箭头向前向右 交通标识牌 注意安全 人行横道 两侧变窄 右侧变窄 左侧变窄 减速让行 停车让行 禁止驶入 禁止掉头 禁止停车 禁止长时停放 注意落石
  • 回放图层 在回放图层区域,可以选择不同图层,多层次观看3D回放视频。 真值物体:包含选项有真值物体类型及ID、物体模型,可控制真值物体显示或隐藏。 预测算法:可显示或隐藏除主车以外,他车的朝向前的行驶轨迹。 定位算法:可显示或隐藏主车的定位(通过算法计算出的信息)和真值(实际信息)的坐标信息。 规控算法:可显示或隐藏“主车局部规划轨迹”和“主车全局规划轨迹”。 高精地图:显示“路面”、“车道线”、“车道参考线”、“中心车道线”、“交通信号”,可控制对应功能显示或者隐藏。 动态场景:显示场景trigger信息,目前支持设置了Distance,ReachPosition,End Of Road,Collision,OffRoad,Time Head Way,Time To Collision,Acceleration,StandStill,Speed,Relative Speed,Traveled Distance,Relative Distance这几类trigger。地图会以的图标展现,鼠标单击图标时,地图中会出现trigger的详细信息。 当有trigger作用于某个交通参与物时,且该trigger自身没有position。该交通参与物模型上会显示trigger图标。(注:Time To Collision类型的trigger可能包含position信息,但是该position代表目标位置,不是其本身位置,所以此类trigger也会显示在交通参与物上)。 一个trigger作用于多个交通参与物时,涉及到的交通参与物都会带有trigger图标。 一个交通参与物带有多个trigger时,只会显示一个trigger图标,鼠标悬浮上去,会在右上角列出所有trigger的内容。
  • 场景组成说明 场景文件的主体是一个场景剧本storyboard,用户需要在storyboard前先声明将会使用的路网RoadNetwork、参数Parameter,和实体Entities。 然后在Storyboard中通过InitActions对实体进行初始化(给定初始速度和位置)。 通过场景故事Story中实体Entities间的每个动作集Act来展开场景。对于动作集Act内的每个行为Action,用户还可以通过Wait设置一个或多个触发条件。
  • 场景文件结构 场景文件结构样例 OpenSCENARIO2.0 ├─ RoadNetwork │ ├─ LogicFile │ └─ SceneGraphFile (0..1) ├─ ParameterDeclarations (0..1) ├─ Entities │ └─ Entity (1+) └─ Storyboard ├─ StopTrigger ├─ InitActions │ ├─ AssignInitSpeedAction │ └─ AssignInitPositionAction └─ Story └─ Act (1+) ├─ StartTrigger (Wait) │ └─ ConditionGroup │ └─ Condition (1+) └─ Action
  • 逻辑场景库相关操作 在“逻辑场景库”页签,还可进行以下操作。 表1 逻辑场景库相关操作 任务 操作步骤 查看逻辑场景库信息 单击左侧逻辑场景库名称,查看右侧该场景库信息以及场景库包含场景信息。 场景库信息:场景库名称、创建人、描述和创建时间等信息。 场景列表:该逻辑场景库中包含的所有场景。逻辑场景的具体操作请参考逻辑场景管理。 修改逻辑场景库信息/逻辑场景库分类信息 单击场景库名称或场景库分类后的,修改逻辑场景库或场景库分类的信息。 删除逻辑场景库/逻辑场景库分类 单击场景库名称或场景库分类后的,删除指定逻辑场景库或场景库分类。 查询逻辑场景 根据“逻辑场景名称”或“创建人”,输入搜索条件,查询逻辑场景列表中的场景。
  • 数据场景相关操作 在“数据场景”模块,还可以完成以下操作。 表1 数据场景相关操作 任务 操作步骤 切换视图 单击列表右上角“切换视图”,场景片段可以由列表和时间轴两种视图相互切换。 删除场景片段 选择目标场景片段,单击列表上方的“删除”,可删除单个或多个场景片段。 回放场景片段 鼠标悬停在目标场景片段时间轴上,单击“回放”,页面自动跳转至“数据回放”模块,详情请参考数据回放。 筛选场景片段 在搜索输入框中输入搜索条件或者根据起始时间查询场景片段。
  • 敏感性分析 Octopus平台支持基于参数组合、回归训练、敏捷性评定三个参数空间分析得到的敏感性分析结果,主要对逻辑场景的参数空间进行敏感性分析。在泛化任务完成的批量仿真任务后加上敏感性分析,然后把敏感性分析结果展现在新的泛化任务创建界面上,来帮助客户更好调节参数创建泛化任务。 进入到创建泛化任务界面,参数设置,选择参数设置后的“灵敏度分析”。 选择关联到该逻辑场景下泛化任务的仿真任务。 单击“确定”,界面出现上次任务的敏感性分析结果,展示每个参数的灵敏度参数,该值的范围在[0,1],该值越大,说明该参数的变化对评测分数的影响越大。 用户可根据敏感性分析结果,设置当前各项参数的数值。
  • 场景和场景库 其中片段式场景仿真是自动驾驶系统测试的重要手段,当前业内对于片段式场景普遍遵循ASAM主导的OpenX系列标准。OpenSCENARIO对动态驾驶环境进行了描述,交通参与物之间通过其他物体的状态变化作为触发条件,进而改变自身的状态。 通过OpenX场景可对算法与环境的动态交互能力进行测试,场景库的目的则是将一批有相同测试目的的场景进行汇总,如想测试Acc算法的应对切入功能,可将多个应对切入的测试场景归到一个场景库,进而在创建仿真任务时可直接选择该场景库进行仿真。
  • 逻辑场景和逻辑场景库 逻辑场景是基于状态空间变量对功能场景的进一步详细描述,每个逻辑场景都有场景参数,比如前车的车速及其加速度,自车与前车距离等参数,这些参数都有一定的取值范围,根据这些参数可以派生出任意数量的具体场景。 逻辑场景库是不同逻辑场景的数据集合,以树状结构的形式表现出来,便于对逻辑场景进行统一的、有效的组织、管理和应用,比如当用户想系统管理和方便查看超车的逻辑场景,可以将所有超车相关的逻辑场景加入一个场景库中。
  • 测试用例和测试套件 如上所述,OpenSCENARIO场景能描绘动态环境的,但无法根据主车内部动力学状态、自动驾驶算法状态作为触发条件来驱动各个交通参与物变化,因此为了实现更加精细的测试控制,需要额外提供一个测试脚本实现与仿真器中的交通参与物和算法内部数据的交互。 图1 测试用例和测试套件 如上图所述,测试脚本能同时仿真器数据运行时RDB数据和AD算法的内部数据,如通过RDB判断主车与前车距离小于20m,可发送某个控制信号给算法改变esp状态,也可以通过SCP指令控制场景中的副车改变运动姿态。 测试脚本很大程度上弥补了单纯场景仿真的不足,能够实现以算法内部信号为触发条件,改变仿真场景中交通参与物的状体和算法内部状态。 因此,在场景的基础上,添加与该场景相匹配的测试脚本,就形成了一个测试用例。也就是说,测试用例是一个场景和测试脚本的集合。 同样,测试套件是将测试目的相同的测试用例归到一起,方便创建仿真任务时直接选择。
  • merge 简述:地图场景为匝道合流。主车Ego在主道行驶,初始速度为Ego_InitSpeed_Ve0,Ego设定了目标在主道右侧2车道上的目标点Target_position,仿真开始后激活Ego控制器(控制器会影响Ego去往Target_position的寻路算法,但目前仿真器B尚不支持寻路动作acquire_position),从车side_vehicle在匝道行驶,初始速度为SideVehicle_InitSpeed_Ve0.side_vehicle从匝道汇入主道。控制器有时会根据side_vehicle的位置更改主车Ego的速度。 地图文件(odr) scenario Merge: m_scene: scenery lane_width: length = [3m, 4m] radius_of_curvature: length = [200m..1000m] ramp_lane_num: int = 1 ramp_length: length = [200m..300m] main_speed: speed = 120kph ramp_speed: speed = 60kph road_aids_type: road_aids_type = ["DType-1", "DType-2", "PType"] merge_1: merge with: keep(it.lane_width == lane_width) keep(it.left_lane_num == 0) keep(it.right_lane_num == 2) keep(it.ramp_lane_num == ramp_lane_num) keep(it.main_speed == main_speed) keep(it.ramp_speed == ramp_speed) keep(it.radius_of_curvature == radius_of_curvature) keep(it.ramp_length == ramp_length) keep(it.road_aids_type == road_aids_type) 场景文件(osc) import standard scenario Merge: # map map: map map.set_map_file("./merge.odr") # parameter Ego_InitSpeed_Ve0: speed = [90kph..110kph] Ego_InitPosition_LaneId: string = ['-1', '-2'] Ego_InitPosition_s: length = [0m..30m] Ego_Odr: odr_point = map.create_odr_point(road_id: '10', lane_id: Ego_InitPosition_LaneId, s: Ego_InitPosition_s, t: 0.0m) Ego_InitPosition: pose_3d with: keep(it.odr_point == Ego_Odr) SideVehicle_InitSpeed_Ve0: speed = [45kph, 50kph, 55kph] SideVehicle_s: length = [30.0m..80.0m] SideVehicle_Odr: odr_point = map.create_odr_point(road_id: '1', lane_id: '-1', s: SideVehicle_s, t: 0.0m) SideVehicle_InitPosition: pose_3d with: keep(it.odr_point == SideVehicle_Odr) Target_xyz: xyz_point = map.create_xyz_point(x: 530m, y: -2m ,z: 0.0m) Target_position: pose_3d with: keep(it.xyz_point == Target_xyz) Duration: time = 100s # entity Ego: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") side_vehicle: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") # storyboard do parallel(duration: Duration): # init Ego.assign_init_position(position: Ego_InitPosition) Ego.assign_init_speed(Ego_InitSpeed_Ve0) side_vehicle.assign_init_position(position: SideVehicle_InitPosition) side_vehicle.assign_init_speed(SideVehicle_InitSpeed_Ve0) Ego.activate_controller(true, true) Ego.acquire_position(target: Target_position) 父主题: 种子地图的逻辑场景样例(仿真器B)
  • 新增镜像包版本 在“镜像包管理”页面的“操作”列,单击目标镜像包对应的“查看版本列表”。 在“当前镜像包版本列表”页面,单击“新增版本”。 在新增镜像包版本页面,配置相关信息,然后单击“确认”。 界面参数说明请参见创建镜像包版本参数说明。 图4 创建镜像包版本 表2 创建镜像包版本参数说明 参数 参数说明 版本名称 镜像包支持有多个版本,请根据当前创建信息填入一个版本名称。镜像包版本需要和选择的OBS文件的包版本号一致。 路径 当前创建版本所在的OBS路径。请选择到包含metadata.yaml文件的父级目录。