BulkLoad加载本地文件到HBase表

BulkLoad加载文件到HBase表

1、功能

将本地数据导入到HBase中

2、原理

BulkLoad会将tsv/csv格式的文件编程hfile文件,然后再进行数据的导入,这样可以避免大量数据导入时造成的集群写入压力过大。

1、tsv格式的文件:字段之间以制表符\t分割
2、csv格式的文件:字段之间以逗号,分割

3、作用

  1. 减小HBase集群插入数据的压力
  2. 提高了Job运行的速度,降低了Job执行时间

4、案例

Step1、配置临时环境变量

$ export HBASE_HOME=/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/
$ export HADOOP_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6
$ export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`

Step2、创建一个新的HBase表

$ bin/hbase shell

hbase(main):001:0> create ‘fruit_bulkload‘,‘info‘

Step3、将tsv/csv文件转化为HFile (别忘了要确保你的fruit格式的文件fruit.tsv在input目录下)

$ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar
/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/lib/hbase-server-0.98.6-cdh5.3.6.jar importtsv
-Dimporttsv.bulk.output=/output_file
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:color
fruit hdfs://hadoop-senior01.itguigu.com:8020/input_fruit

Step4、把HFile导入到HBase表fruit_bulkload

上一步完成之后,你会发现在HDFS的根目录下出现了一个output_file文件夹,里面存放的就是HFile文件,紧接着:把HFile导入到HBase表fruit_bulkload

$ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar
/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/lib/hbase-server-0.98.6-cdh5.3.6.jar
completebulkload /output_file fruit_bulkload

Step5、查看使用bulkLoad方式导入的数据

hbase(main):001:0> scan ‘fruit_bulkload’

  

原文地址:https://www.cnblogs.com/alexzhang92/p/10938820.html

时间: 2024-10-06 18:57:08

BulkLoad加载本地文件到HBase表的相关文章

worker中加载本地文件报错的解决方案

如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: Error #2148 不能访问本地资源. 网上给出的方案几乎都不能有效的解决问题, 之所以说几乎, 是因为如果以后读者搜到这篇文章时, 有效的解决方案就在这里. 即在本地架设一个http资源服务器, 加载的时候不要用本地地址作为加载路径,而是使用http 地址作为加载地址即可正确加载.

关于jquery中load()无法加载本地文件的问题

今天开始刚开始学习jQuery的AJAX就遇到一个头疼的问题,按照教程的代码,我编写的代码如下(使用VS Code编辑器): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>LOAD方法</title> <script src="../jQuery库/jquery-3.2.1.min.js

Jquery的load加载本地文件出现跨域错误的解决方案

如果用原生的AJAX是加载本地文件就不会出现错误.当然,这个jquery的load放在服务器上通过http加载还是支持的.也有例外比如在firefox和ie浏览器使用$.ajax加载本地html或txt文件时,不会报错. 当其他浏览器控制台弹出下面报错,表明这个不支持跨域浏览本地文件: Access to XMLHttpRequest at 'file:///F:/%E4%BB%A3%E7%A0%81/Jquery/a.txt' from origin 'null' has been block

在chrome 怎么通过ajax请求加载本地文件

在chrome下面用Jquery 的load方法加载本地的html文件时会报错 我百度了一下是因为 谷歌浏览器内核为了安全机制,不允许这样方式访问其他页面,但是可以通过加 --enable-file-cookies --allow-file-access-from-files命令  加命令时 注意与前面的内容要用一空格隔开 然后重启浏览器,如果还是不行就重启电脑 原文地址:https://www.cnblogs.com/Dainney/p/10295691.html

spark 通过 RDD 从HDFS文件加载JSON文件到sql表

RDD定义 RDD全称是Resilient Distributed Dataset, 是spark的核心抽象层,通过它可以读取多种文件,这里演示如何读取hdfs文件.所有spark的工作都是发生在RDD上,比如创建新的RDD,转换已有的RDD,对现有的RDD计算求得结果. RDD在spark中是不可变的(immutable)对象集合,RDD可以被划分成多个分区,存放在不同的节点. 创建RDD 有两种方法,一种是加载外部的数据集,比如下面加载HDFS的文件, 运行在scalar-shell中: v

第 17 章 存储与加载本地文件

请参考教材,全面理解和完成本章节内容... ... 复制工程ch16,将工程目录改名为ch17. 在手机上完全退出你的"陋习手记"App(不是把应用隐藏起来),再重新执行"陋习手记"App,哇!我的之前的手记哪里去了? 几乎所有应用都需要有个地方存储数据.本章,我们将升级CriminalIntent应用,实现保存并加载存储在设备上的JSON文件数据. Android设备上的所有应用都有一个放置在沙盒中的文件目录.将文件保存在沙盒中可阻止其他应用的访问.甚至是其他用户

IOS UIwebView加载本地文件(支持显示图片)

1,本地的html文件一定要放到工程文件的根目录 2,html代码中的图片路径一定要是相对路径 3,下面是用UIWebView调用本地文件的方法 方法一: NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"]; NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:

WP8.1程序开发中,如何加载本地文件资源或安装在程序包中的资源。

Web 要访问来自 Web 的文件,你可以使用标准的绝对 HTTP URI: <img src="http://www.contoso.com/images/logo.png" alt="Logo" /> 要访问存储在应用附带的框架或库程序包中的文件,请使用绝对 URI(和 ms-appx: 方案): <script src="ms-appx:///Bing.Maps.JavaScript//js/veapicore.js"&g

iOS WebView 加载本地资源(图片,文件等)

NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); //webview加载本地文件,可以使用加载数据的方式 //第一个诶参数是一个NSData, 本地文件对应的数据 //第二个参数是MIMEType //第