hbase导入数据同时与phoenix实现映射同步

一、说明

先创建一个hbase表格,能够导入本地数据到hbase中,最后能够通过phoneix进行访问。

1、数据准备(10W条,样例如下),文件test.txt

0,20190520164020,171.15.136.201,ie
1,20190520164020,139.203.75.112,chorm
2,20190520164020,121.77.62.91,chorm
3,20190520164020,139.213.175.14,ie
4,20190520164020,210.45.253.237,chorm
5,20190520164020,171.12.45.87,chrome
6,20190520164020,139.200.93.224,firefox
7,20190520164020,222.61.160.72,chorm

2、上传到hdfs /tmp/下

hadoop fs -put test.txt /tmp/test.txt

1、在hbase中创建好表

create ‘TEST‘,‘INFO‘

2、在phoenix中建立相同的表名以实现与hbase表的映射

create table if not exists TEST(ID varchar primary key, INFO.DATA varchar, INFO.IP varchar, INFO.BROWER varchar );

注意:

  a、phoneix中创建的表与hbase中映射的表名要相同

  b、phoneix的主键名称不需要和hbase中相同,两边通过表格内置结构可以自动关联起来,因为表格自动识别到主键

  c、phoneix中的column必须以hbase的columnFamily开头

3、hdfs数据导入到hbase中,执行下面两条命令

a、通过importtsv.separator指定分隔符,否则默认的分隔符是tab键。

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,INFO:DATA,INFO:IP,INFO:BROWER -Dimporttsv.separator=, -Dimporttsv.bulk.output=/tmp/who_goods_label_output TEST /tmp/test.txt

b、将生成的hfile文件导入到hbase

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/who_goods_label_output TEST

4、查看结果

a、hbase

原文地址:https://www.cnblogs.com/yfb918/p/10895754.html

时间: 2024-10-09 03:20:46

hbase导入数据同时与phoenix实现映射同步的相关文章

优雅的将hbase的数据导入hive表

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} wgx wgx 2 67 2016-04-02T15:15:00Z 2016-04-02T15:15:00Z 1 233 1332 11 3 1562 15.00 Clean Clean false 7.8 磅 0

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

HBase表数据导出和导入

本文不是技术收集贴,就是记录一下,因此没有收集所有的HBase表导入导出方式,只是记录一下自己用过的一种. 数据表的导出: 1 $ bin/hbase org.apache.hadoop.hbase.mapreduce.Driver export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]] 需要注意的是,outputdir指的是HDFS上的路径,建议使用绝对路径(没

HBase导入SQL Server数据库数据

在先前的几篇随笔中已经介绍了Hadoop.Zookeeper.Hbase的分布式框架搭建方案,目前已经搭建完成了一个包含11个节点的分布式集群.而对于HBase数据库的使用仅限于测试性质的增删改查指令,为了进一步熟悉分布式框架的使用,本文介绍将已有的数据从关系型数据库SQL Server中导入到HBase中的方法. 要完成从关系型数据库到HBase数据的迁移,我们需要使用Sqoop工具,Sqoop是Apache的一个独立项目,设计目的即是在Hadoop(Hive)和传统数据库(MySQL.pos

HBase 实战(1)--HBase的数据导入方式

前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇博文重点讲解HBase的数据导入, 描述三种方式, Client API, Bulkload, 以及Hive Over HBase. *). Client API实现借助HBase的Client API来导入, 是最简易学的方式. Configuration config = HBaseConfiguration.crea

HBase快速导入数据--BulkLoad

Apache HBase是一个分布式的.面向列的开源数据库,它可以让我们随机的.实时的访问大数据.但是怎样有效的将数据导入到HBase呢?HBase有多种导入数据的方法,最直接的方法就是在MapReduce作业中使用TableOutputFormat作为输出,或者使用标准的客户端API,但是这些都不非常有效的方法. Bulkload利用MapReduce作业输出HBase内部数据格式的表数据,然后将生成的StoreFiles直接导入到集群中.与使用HBase API相比,使用Bulkload导入

使用BulkLoad从HDFS批量导入数据到HBase

在向Hbase中写入数据时,常见的写入方法有使用HBase API,Mapreduce批量导入数据,使用这些方式带入数据时,一条数据写入到HBase数据库中的大致流程如图. 数据发出后首先写入到雨鞋日志WAl中,写入到预写日志中之后,随后写入到内存MemStore中,最后在Flush到Hfile中.这样写数据的方式不会导致数据的丢失,并且道正数据的有序性,但是当遇到大量的数据写入时,写入的速度就难以保证.所以,介绍一种性能更高的写入方式BulkLoad. 使用BulkLoad批量写入数据主要分为

kettle连接Hbase中数据导入(8)

http://wiki.pentaho.com/display/BAD/Loading+Data+into+HBase 1)下载样本文件 到官网去下载 2)Hbase中建表 3)创建转换 3)配置Text file Input 5)配置content和Fields 6)添加HBase Output 7)配置HBase Output 8)配置Mapping 9)完成配置连接 10)保存运行 11)检查Hbase中数据

HBase通过Excel导入数据

package Common; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; impo