Hive数据导入到HBase

sqoop把数据 从mysql导入到hdfs,hive,hbase 1. 列出库 sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username XXX(用户名)--password XXX(密码) 2. 列出workflow下的表 sqoop list-tables --connect jdbc:mysql://localhost:3306/workflow --userna... 阅读详情

Hive数据导入到HBase

1. 背景

  1. 作为一个数据处理框架,hive本身并不计算和存储数据,计算引擎一般是mapreduce,tez,spark,数据存储则是在hdfs中,元数据一般在mysql中。
  2. hive将数据计算处理之后,如果数据结果需要对外提供并且有秒或亚秒级别的访问速度,并且跟hadoop生态有较好的兼容性,则hbase是一个很好的选择。当然实际上只是数据存储,mysql,elasticsearch,clickhouse都可以胜任亚秒级别的数据访问性能。
  3. 当业务需要,将hive数据导入hbase时,一般有2种场景。一种是数据流入hbase,也就是数据来一条,导入一条到hbase;另外一种就是一次性批量导入到habse;
  4. 上述2种在实际开发中都有应用,看业务场景不同做选择。
  5. hbase本身支持逐条导入,可以使用shell命令,jdbc方式将数据导入;也可以使用bulkload方式,使用shell或者代码方式,直接将数据批量导入。

2. 案例1

  1. 使用hive的api,逐条put插入即可

3. 案例2

  1. 使用hive自带的工具做buldkload,但对源数据文件格式有要求,必须是csv文件格式。
  2. 这样一来,要么先将数据转为这种格式,要么使用案例3的方式,一切自定义控制。
  3. 使用hive自带导入hbase工具
  • 有一个csv文件
  • 生成hfile文件
hadoop jar ${HBASE_HOME}/lib/hbase-mapreduce-2.0.6.jar \
importtsv -Dimporttsv.columns=HBASE_ROW_KEY,f:c1,f:c2 \
-Dimporttsv.bulk.output=hdfs://hfilefile/output   <tablename>  hdfs://input/file/path 

-Dimporttsv.bulk.output=/path/for/output 输出目录
-Dimporttsv.skip.bad.lines=false 是否跳过脏数据行
‘-Dimporttsv.separator=|’ 指定分隔符
-Dimporttsv.timestamp=currentTimeAsLong 是否指定时间戳
-Dimporttsv.mapper.class=my.Mapper 替换默认的Mapper类

  1. 将hfile导入hbase
bin/hbase org.apache.hadoop.hbase.tool.LoadIncrementalHFiles  <hdfs://hfilefile/output>  <tablename>

4. 案例3

object ImportSessionAgr2Hbase {
   
   

  def main(args: Array[String]): Unit = {
   
   

    Logger.getLogger("org").setLevel(Level.WARN)

    val spark = SparkSession.builder()
      .appName("hive表 流量会话聚合表 导入  HBASE")
      .master("local")
      .enableHiveSupport()
      .getOrCreate()

    // 用spark去加载hive表
    val agrTable = spark.read.table("dws.app_trf_agr_session").where("dt='2020-10-07'")

    // guid|session_id|start_ts|end_ts|first_page_id|last_page_id|pv_cnt|isnew|hour_itv|country|province|city|region|device_type

    // 整理成hbase的KV结构
    val argTableFlat: RDD[(String, String, String, String)] = agrTable.rdd
      .flatMap(row => {
   
   
        val guid = row.getAs[String]("guid") + ""
        val session_id = row.getAs[String]("session_id") + ""
        val start_ts = row.getAs[Long]("start_ts") + ""
        val
hive数据同步到hbase或hbase数据同步到hive参考代码 阅读详情

相关推荐

Hive数据导入HBase

在Hive创建数据保存在HBase的表方式,这种方法的特点是简单,但是数据量超过千万以后 ,数据偏移现象比较明显,效率不高 在定义Hive的UDF,将数据写入HBase,如果提前将HBase表的regen分好,这种直接put的方法效率还行 直接用MapReduce生成Hfile,然后导入HBase,这种方法的特点是程序步奏很多,但是效率高,每分钟轻松能到3000万数据

q79969786的专栏 1万+

Hive数据导入HBase的方法.docx

HIVE建表时可以指定映射关系直接读取HBASE的数据,相当于有了一个HBASE向HIVE的通道。那HIVE向HBASE有通道吗?本文主要讲述了Hive库数据如何入到HBASE中。

RTKLIB模糊度固定实战:三种模式对比与部分模糊度固定代码解析

本文深入解析RTKLIB中模糊度固定的三种核心模式(continuous、instantaneous、fix and hold),对比其性能与适用场景,并详细拆解了部分模糊度固定技术的源码实现。通过实战案例与代码级解析,为GNSS高精度定位开发者提供了在不同数据特性下提升固定成功率的优化思路与配置建议。

efc1234567的博客 473

PyTorch实战:A2C算法在Pendulum环境中的调参技巧与收敛优化

本文详细介绍了使用PyTorch实现A2C算法在Pendulum环境中的调参技巧与收敛优化方法。通过分析Pendulum环境特性、设计高效的网络架构、优化超参数设置以及提升训练稳定性,帮助开发者掌握强化学习中的policy-based方法。文章特别强调了奖励工程、优势估计改进和梯度裁剪等关键优化策略,为连续控制任务提供了实用解决方案。

rum55的博客 213

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 478

第 4 课 树莓派5的换源与中文输入法

树莓派换源、中文输入法的安装

嵌入式老牛的博客 2288

3D打印开源硬件MKS Monster8 V2.0 原理图赏析--更新中

MKS MONSTER8 主板是创客基地为满足市场需求而推出的主板,可用于Voron 2.4机器安装,支Marlin 固件和Klipper固件,支持U盘打印(暂时只有Marlin固件支持),支持TMC驱动UART模式,它包含了3D打印机所需要的主要部件和接口,通过MCU集中控制,是一款功能强大的主板。下面详细分析一下。

我的专栏 7224

苹果生态最佳搭档:Mac mini + OpenClaw + iPhone 远程控制

本文详细介绍如何通过iPhone远程控制Mac mini上的OpenClaw应用,打造高效苹果生态工作流。内容包括:1) 苹果生态整合优势,包括AirDrop、Handoff等功能对比;2) Mac mini配置步骤,涵盖SSH/VNC设置、网络优化及Docker部署OpenClaw;3) iPhone端SSH/VNC客户端选择与Tailscale内网穿透配置;4) 详细SSH密钥设置与连接测试方法。通过这套方案,用户可实现跨设备无缝控制OpenClaw应用,提升远程工作效率。(149字)

一键难忘的博客 793

基于Simulink的电动汽车动力总成控制策略验证与标定仿真平台

电动汽车的动力总成(Powertrain)是车辆的核心系统,包括动力电池、电机控制器、逆变器和驱动电机等关键部件。动力总成的控制策略直接影响车辆的动力性能、能耗效率和驾驶体验。为了验证和优化这些控制策略,基于MATLAB/Simulink的仿真平台成为一种高效且经济的解决方案。本项目旨在构建一个完整的基于Simulink的电动汽车动力总成控制策略验证与标定仿真平台,涵盖控制策略建模、性能评估以及参数标定等功能模块,并通过仿真验证系统的有效性。

xiaoheshang_123的博客 177

131、高通骁龙影像平台总览:Spectra ISP 各代架构演进与特性对比

摘要:本文深入分析了高通骁龙Spectra ISP从250到780代的架构演进与技术痛点,揭示了各代关键改进与隐藏问题。重点剖析了双ISP带宽分配、AI ISP黑盒决策、温度控制等实战问题,并给出具体解决方案(如寄存器配置、QoS调整等)。文章强调工程师需平衡带宽、功耗与画质的三角关系,建议调试时先关闭AI模块建立基线,关注统计引擎配置,并建立温度监控机制。最后指出理解架构局限比追求完美设计更重要,需要针对不同场景找到合适的妥协方案。(148字)

sundong_81的博客 207

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: Kylin 3.1.0新版本安装教程
下一篇: 大数据开发之机器学习总结(数学知识)(三)
闻香识代码
博客等级 码龄12年 314粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值