|NO.Z.00028|——————————|BigDataEnd|——|Hadoop&实时数仓.V08|——|项目.v08|DIM层处理|从HBash中读取地域维表数据.V1|

一、DIM层处理
### --- DIM层处理

~~~     最原始的表 mysql中 yanqi_area ----> (hbase)
~~~     转化yanqi_area ---> 地区id,地区的名字,城市的id,城市的名字, 省份的id,省份的名字
~~~     # --> 存入 hbase中
~~~     mysql --- hbase 管道数据流处理 / 事务型数据流处理
~~~     在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。
~~~     所以维度的作用一般是查询约束、分类汇总以及排序等。
~~~     从mysql:yanqi_area原始表中下沉数据到hbash下yanqi_area表中,
~~~     再从hbash:yanqi_area表中下沉数据到dim_yanqi_area表中

二、编程代码实现
### --- 编程实现工具类一:ConnHBase

package ods

import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.hbase.client.{Connection, ConnectionFactory}
import org.apache.hadoop.hbase.{HBaseConfiguration, HConstants}

class ConnHBase {
  def connToHbase:Connection ={
    val conf : Configuration = HBaseConfiguration.create()
    conf.set("hbase.zookeeper.quorum","hadoop01,hadoop02,hadoop03")
    //    conf.set("hbase.zookeeper.quorum","hadoop01,hadoop02")
    conf.set("hbase.zookeeper.property.clientPort","2181")
    conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,30000)
    conf.setInt(HConstants.HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD,30000)
    val connection = ConnectionFactory.createConnection(conf)
    connection
  }

}
### --- 编程实现样例类一:AreaDetail

package dim

case class AreaDetail(id: Int, name:String, pid: Int)
### --- 编程实现样例类二:DimArea

package dim

/**
 *
 * @param areaId 区的id
 * @param aname 区的名字
 * @param cid 城市的id
 * @param city 城市的名字
 * @param proId 省份的id
 * @param province 省份的名字
 */
case class DimArea(areaId:Int,aname:String,cid:Int,city:String,proId:Int,province:String)

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示