检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Hudi目的端的作业自动建表报错:schema不匹配,建表失败怎么办? 问题描述 cdm迁移数据到hudi,hudi选择自动建表,执行建表语句报schema不匹配错误“org.apache.spark.sql.AnalysisException:Specified schema in
您可以使用时间宏、表名宏、版本宏等变量来标记数据库来源信息。变量的语法:${variable},其中“variable”指的是变量。例如“input_time”=“${timestamp()}”用来标识当前时间的时间戳。 表达式 您可以使用表达式语言根据运行环境动态生成参数值。表达式的语法:#{expr}
增加怎么解决? 问题描述 CDM写Hudi为两段式,先写到hive临时表,然后再执行spark sql写到Hudi,写入行数统计的是写hive临时表的行数,当行数不再增长时,说明源端数据已经读完写到Hive表中,此时作业正在执行Spark SQL过程中,需要等Spark SQL执行完作业才会结束。
即生效且作业会运行失败。 MRS Hive 用户具有MRS Hive连接的表的访问权限时,才能在字段映射时看到表。 MRS Hive连接适用于华为云上的MapReduce服务。MRS Hive的连接参数如表1所示。 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2
读Hudi作业字段映射多了一列col,作业执行失败。 原因分析 使用Spark SQL写数据入hudi表,由于配置问题,表schema中会自动增加一列类型为array<string>,名称为col的列。 解决方案 字段映射中删去此列,如果是自动建表,SQL中也要把此列删去。 父主题: 故障处理类
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
作业状态有New,Pending,Booting,Running,Failed,Succeeded,stopped。 其中“Pending”表示正在等待系统调度该作业,“Booting”表示正在分析待迁移的数据。 查看历史记录 查看作业执行结果及最近30天内的历史信息,包括历史执行记录、读取和写入的统计
正则表达式分隔半结构化文本 在创建表/文件迁移作业时,对简单CSV格式的文件,CDM可以使用字段分隔符进行字段分隔。但是对于一些复杂的半结构化文本,由于字段值也包含了分隔符,所以无法使用分隔符进行字段分隔,此时可以使用正则表达式分隔。 正则表达式参数在源端作业参数中配置,要求源连
HBase集群中共有854张表约400TB,备HBase集群中共有149张表,约10TB数据。最近一个月新增的数据量是60TB。 使用CDM将CDH集群中的HBase HFile抽取出来存入到MRS(MapReduce) HDFS中,再通过HBase修复命令重建HBase表。基于这种迁移方案,可以使用以下2种迁移方式同时进行:
编程语言类型的SDK代码,如图1所示。 图1 获取SDK代码示例 SDK列表 表1提供了CDM服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3
DLI外表(OBS文件)迁移DWS某字段转义,带有“\” 问题描述 DLI 外表CDM服务将数据迁移到DWS(GaussDB)时候,有个字段迁移后多了一对引号,字段本身的引号多了转义符,其他字段没问题。 源端: 目的端: 故障分析 根据截图可以看出,源端样值中有符号:{ 括号 ”
OBS连接目的端OBS桶需添加读写权限,并在连接时不需要认证文件。 CDM集群和OBS桶不在同一个Region时,不支持跨Region访问OBS桶。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 连接OBS时,相关连接参数如表1所示。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
原因分析 除去Yarn队列资源问题,一般作业是卡在执行Spark SQL读Hudi写Hive临时表,这步执行的速度取决于Hudi表的数据量与Yarn队列剩余资源。 作业配置了导入前清空数据,dws表存量数据多,卡在truncate table操作步骤中,默认5分钟超时。 解决方案 查看Yarn任务,搜索Spark
lang.IllegalArgumentException。 原因分析 表在metastore中存在,但不是Huid表,或者表在metastore中存在,但是表目录不存在,根因是在表目录下没有.hoodie目录。可能删表的时候只删了文件而没有drop table。 设置为主键或者预聚合键的列有空值,写入hoodie会失败。
正则表达式分隔半结构化文本 在创建表/文件迁移作业时,对简单CSV格式的文件,CDM可以使用字段分隔符进行字段分隔。但是对于一些复杂的半结构化文本,由于字段值也包含了分隔符,所以无法使用分隔符进行字段分隔,此时可以使用正则表达式分隔。 正则表达式参数在源端作业参数中配置,要求源连
HBase、Apache HBase或者CloudTable导出数据时,源端作业参数如表1所示。 CloudTable或HBase作为源端时,CDM会读取表的首行数据作为字段列表样例,如果首行数据未包含该表的所有字段,用户需要自己手工添加字段。 由于HBase的无Schema技术特点,CDM无法获知数
单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。 FusionInsight HBase 连接FusionInsight HD上的HBase数据源时,相关参数如表2所示。 表2 FusionInsight
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]