|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&实时数仓.V17|——|项目.v17|DIM层处理|从HBash中读取地域维表数据.V1|
一、DIM层处理
### --- DIM层处理
~~~ 最原始的表 mysql中 yanqi_area ----> (hbase)
~~~ 转化yanqi_area ---> 地区id,地区的名字,城市的id,城市的名字, 省份的id,省份的名字
~~~ # --> 存入 hbase中
~~~ mysql --- hbase 管道数据流处理 / 事务型数据流处理
~~~ 在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。
~~~ 所以维度的作用一般是查询约束、分类汇总以及排序等。
二、编程代码实现
### --- 编程实现样例类一:ConnHBase
package dim
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
}
}
### --- 编程实现工具类二: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)
### --- 编程实现工具类一:AreaDetail
package dim
case class AreaDetail(id: Int, name:String, pid: Int)
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
分类:
bdv026-EB实时数仓
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通