作者小头像 Lv.2
91 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
85
6
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2026/10/22 15:30:06 最后回复 yd_252351073 2026/10/23 15:51:34 版块 华为云码道CodeArts代码智能体
13 2 0
发布时间 2026/10/21 10:19:32 最后回复 yd_252351073 2026/10/23 15:49:27 版块 华为云码道CodeArts代码智能体
20 1 0
发布时间 2026/10/22 09:22:51 最后回复 yd_286798753 2026/10/22 10:55:53 版块 开发者空间
28 6 0
发布时间 2026/06/18 10:37:48 最后回复 yd_252351073 2026/10/22 09:23:49 版块 云手机
37 1 0
发布时间 2026/06/18 11:45:41 最后回复 yd_252351073 2026/10/22 09:23:07 版块 云手机
28 1 0
他的回复:
按要替换的能力拆开看,华为云上没有一个产品和 DataStage 完全同构,但常见场景可以落到下面几个服务。 库表批量同步、入湖入仓(DataStage 作业、Kettle 转换里最常见的那部分):用数据治理中心 DataArts Studio 的数据集成,底层就是原来的云数据迁移 CDM。支持常见关系库、Hive、OBS、DWS 之间的离线同步,增量靠时间戳或自增字段做水位。文档入口:https://support.huaweicloud.cn/dataartsstudio/index.html 系统和 API、消息打通(Informatica 里偏应用集成的那部分):用应用与数据集成平台 ROMA Connect。FDI 做数据集成,APIC 做 API 开放,还要对接 MQ、设备或合作方系统时优先选它,而不是硬塞进批量作业。文档:https://support.huaweicloud.cn/roma/index.html 实时链路:源库 CDC 或消息进 Kafka(分布式消息 DMS),再用实时计算 Flink 做转换,落到 DWS 或 OBS。这和 DataStage 的批量作业不是同一条路,别混在一个作业里。 自建 Kettle:可以继续放在 ECS 上跑,信创环境要换成国产操作系统、国产 JDK 和目标库的官方驱动,调度改用 DataArts 作业或系统 cron。这种只适合过渡,补丁和补数都得自己管。 迁移不要指望导入 dsx 或 XML。先列作业清单,按「只读同步 / 有转换 / 有实时」三类重画。字符集、时区和增量水位单独对账,先双跑再切。DataStage 的并行 stage、Informatica 的 mapplet 一般要拆成多步作业。
发布时间 2026/09/12 19:48:34 最后回复 yd_252351073 2026/10/22 09:21:10 版块 云计算
9 1 0
发布时间 2026/10/22 07:35:43 最后回复 yd_239575663 2026/10/22 18:11:46 版块 开发者空间
53 22 0
发布时间 2026/10/22 08:24:53 最后回复 yd_252351073 2026/10/22 08:42:08 版块 开发者空间
2 1 0
他的回复:
三者都能声明变量,但作用域、提升和能否重新赋值不一样。日常代码优先用 const,需要重新赋值再用 let,尽量不要再用 var。 1. 作用域var 是函数作用域。在函数里声明后,整个函数都能访问,包括 if、for 里面。let 和 const 是块级作用域,只在最近的一对大括号内有效。for (let i = 0; i n; i++) 里,每一轮的 i 都是独立绑定,循环里的异步回调能拿到当次的 i;改成 var 则所有回调都看到最后那个 i。 2. 暂时性死区三者都会被提升,但 var 提升后初始值是 undefined,声明前访问不会报错。let 和 const 在进入作用域到执行到声明语句之前,变量已存在但不能访问,访问会抛出 ReferenceError。这就是暂时性死区,用来避免“先用后声明”这种隐蔽错误。 3. 重复声明同一作用域里 var 可以重复声明,后面的会覆盖前面的。let 和 const 不允许重复声明,否则直接 SyntaxError。 4. 重新赋值var 和 let 可以重新赋值。const 必须在声明时初始化,而且绑定不能重新指向新值。注意:const 限制的是绑定,不是对象内容。const obj = {} 之后仍然可以改 obj.a,但不能写 obj = 另一个对象。需要真正不可变时,还要配合 Object.freeze,而且它只冻结第一层。 5. 全局声明时的差别在浏览器全局用 var 声明,会变成 window 的属性。let 和 const 不会挂到 window 上,避免污染全局对象。 一个简短对照:function demo() {  console.log(a); // undefined,不会报错  var a = 1;  // console.log(b); // ReferenceError  let b = 2;  const c = { n: 3 };  c.n = 4; // 可以  // c = {}; // TypeError}for (var i = 0; i 3; i++) setTimeout(() => console.log(i), 0); // 3 3 3for (let j = 0; j 3; j++) setTimeout(() => console.log(j), 0); // 0 1 2 结论:新代码默认 const;绑定需要变化时用 let;只有维护老代码时才保留 var。