通过OSS 构建大数据分析PB级数仓( 二 )


  • 在阿里云控制台单击费用 , 之后单击返回旧版 。
  • 单击消费记录 > 存储到OSS , 输入用于存储文件的OSS bucket名称 , 本示例中为oms-yl 。
    如果您之前未开通过此服务 , 您需要单击进入授权 , 按流程完成授权后再配置 。
    服务开通后 , 每天会将增量的实例消费明细数据生成文件 , 并同步存储到指定的Bucket中 , 如下图所示 。
  • 安装MaxCompute客户端 , 并下载自定义代码 。
  • 运行add jar odps-udf-example-0.30.0-SNAPSHOT-jar-with-dependencies.jar命令 , 将自定义代码编译打包 , 并上传到MaxCompute 。
  • 通过MaxCompute创建外部表 。
    详细步骤请参考阿里云官网MaxCompute创建表 。以创建5月4日的账单消费表为例 , 外部表如下:
    CREATE EXTERNAL TABLE IF NOT EXISTS oms_oss_0504
    (
    月份 string,
    资源拥有者 string,
    消费时间 string,
    消费类型 string,
    账单编号 string,
    商品 string,
    计费方式 string,
    服务开始时间 string,
    服务结束时间 string,
    服务时长 string,
    财务核算单元 string,
    资源id string,
    资源昵称 string,
    TAG string,
    地域 string,
    可用区 string,
    公网ip string,
    内网ip string,
    资源配置 string,
    原价 string,
    优惠金额 string,
    应付金额 string,
    计费项1 string,
    使用量1 string,
    资源包扣除1 string,
    原价1 string ,
    应付金额1 string,
    计费项2 string,
    使用量2 string,
    资源包扣除2 string,
    原价2 string,
    应付金额2 string,
    计费项3 string,
    使用量3 string,
    资源包扣除3 string,
    原价3 string,
    应付金额3 string,
    计费项4 string,
    使用量4 string,
    资源包扣除4 string,
    原价4 string,
    应付金额4 string,
    计费项5 string,
    使用量5 string,
    资源包扣除5 string,
    原价5 string,
    应付金额5 string,
    计费项6 string,
    使用量6 string,
    资源包扣除6 string,
    原价6 string,
    应付金额6 string,
    计费项7 string,
    使用量7 string,
    资源包扣除7 string,
    原价7 string,
    应付金额7 string,
    计费项8 string,
    使用量8 string,
    资源包扣除8 string,
    原价8 string,
    应付金额8 string,
    计费项9 string,
    使用量9 string,
    资源包扣除9 string,
    原价9 string,
    应付金额9 string
    )
    STORED BY 'com.aliyun.odps.udf.example.text.TextStorageHandler' --STORED BY 指定自定义 StorageHandler 的类名 。
    with SERDEPROPERTIES (
    'odps.text.option.complex.text.enabled'='true',
    'odps.text.option.strict.mode'='false'
    --遇到列数不一致的情况不会抛异常 , 如果实际列数少于schema列数 , 将所有列按顺序匹配 , 剩下的不足的列补NULL 。
    )
    LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oms-yl/2018-05-04/'
    USING 'text_oss.jar'; --同时需要指定账单中的文本处理类定义所在的 jar 包 。
  • 通过MaxCompute查询外部表 。
    查询步骤可参考 阿里云官网MaxCompute提取和分析数据 。以查询ECS快照消费账单明细为例 , 命令如下:
    【通过OSS 构建大数据分析PB级数仓】了解更多请加微信:kinnah333
  • 推荐阅读