神奇的黄豆 2024-12-28 13:52 采纳率: 63.6%
浏览 4
已结题

数仓处理清洗原始数据

img


如何将其清洗到字段为beCommentWeiboId 是否评论
beForwardWeiboId 是否是转发微博
catchTime 抓取时间
commentCount 评论次数
content 内容
createTime 创建时间
info1 信息字段1
info2信息字段2
info3信息字段3
mlevel no sure
musicurl 音乐链接
pic_list 照片列表(可以有多个)
praiseCount 点赞人数
reportCount 转发人数
source 数据来源
userId 用户id
videourl 视频链接
weiboId 微博id
weiboUrl 微博网址的dwd表中

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据您提供的信息,我理解您正在尝试将原始数据清洗并导入到Hive的dwd表中。在这个过程中,您遇到了几个错误,让我们一步步来解决这些问题。

    1. 插入数据时报错:Cannot insert into target table because column number/type mismatch 这个错误是因为您尝试将数据插入到目标表dwd_weibo_clean时,查询返回的列与目标表的列不匹配。您的目标表dwd_weibo_clean有19个列,但您的查询只返回了一个列。您需要确保查询返回的列与目标表的列数量和类型都匹配。

    为了解决这个问题,您需要调整查询以返回所有必要的列。根据您提供的信息,您需要从ods_weibo_original表中选择所有列,并将它们重命名为目标表dwd_weibo_clean中的对应列。您的插入语句可能类似于以下形式:

    INSERT OVERWRITE TABLE dwd_weibo_clean
    SELECT 
        get_json_object(json,'$."beCommentWeiboId"') as beCommentWeiboId,
        -- 其他列的类似处理,确保所有列都被正确选择并命名
    FROM ods_weibo_original;
    

    确保为每个目标表的列提供一个对应的值。如果您的源数据包含所有的信息,您可以按需使用适当的函数来提取数据。 2. 表不存在错误:Table not found 'ods_weibo_orignal' 这个错误是因为您尝试查询的表ods_weibo_orignal不存在。请检查表名是否正确。根据您提供的信息,似乎应该是ods_weibo_original。确保在查询时使用的是正确的表名。 3. 数据源问题 确保您的数据源ods_weibo_original包含您需要的所有数据,并且数据格式是正确的。根据您提供的信息,看起来您正在从一个JSON格式的数据源中提取数据。确保数据源中的键与您在目标表中使用的列名匹配。

    综上所述,您需要调整您的插入语句以匹配目标表的列结构,并确保使用的表名是正确的,同时数据源也包含所需的数据。希望这些指导能帮助您解决问题!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日