• 关于

    java 连接hbase

    的搜索结果

问题

hbase serverless 查询报错: Unsupport PageFilter

相同代码, 使用 hbase-client 连接自建hbase正常, 使用 alihbase-client 2.0.8 连接 hbase serverless 查询报错. Caused by: java.io.IOException: T...
sybn 2020-04-09 14:05:14 11 浏览量 回答数 2

问题

eclipse连接hbase连接超时。RetriesExhaustedException

请问我在mac的本地连接虚拟机的hbase,出现连接超时。请问是什么问题? HBase1.3.2(第一台虚拟机)zookeeper3.4.12(第一台虚拟机)Hadoop2.5.0(第二台虚拟机)错误日志信息:18/09/25 06:40:...
hbase小能手 2019-12-01 20:25:54 1111 浏览量 回答数 1

问题

java连接hbase开启kerberos失败

之前用java连接hbase是没有启动Kerberos认证,代码能连接到hbase,也能查询数据;现在启动kerberos认证后再次查询时却不能获取到数据以下是我的代码,大牛们有知道哪儿出问题了(hbase是基于CDH5.13版本开发的) ...
叫我鹏爷 2019-12-01 20:27:44 1409 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

建个炫酷的简历网页,制作一个浪漫的表白网页,打造个人专属网盘,多种动手场景应用免费学!!!

问题

使用Java API访问phoenix报错?求大佬解答

代码:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;...
hbase小能手 2019-12-01 20:25:55 1461 浏览量 回答数 5

问题

java连接单机hbase操作数据

16/03/04 17:09:56 INFO support.ClassPathXmlApplicationContext: Refreshing org.springframework.context.support.ClassPathX...
蛮大人123 2019-12-01 19:40:55 2934 浏览量 回答数 1

问题

Java连接Hbase(单机版)?报错

Hbase单机版(没有用Hadoop)启动后,可以使用shell来操作。 但用java连接操作就报错 public static void main(String[] args) { ...
爱吃鱼的程序员 2020-06-22 17:31:36 0 浏览量 回答数 1

问题

phoenix线程安全问题导致数组越界

public class Test { private static transient JdbcPool whJdbcPool; static { try { Class.forName(PhoenixDrive...
hbase小能手 2019-12-01 20:25:46 934 浏览量 回答数 1

问题

phoenix 连接超时,服务器操作正常

开发环境windowide为intellij ideaspring boot 整合phoenix 后 连接不上服务错误日记如下:""2018-08-01 16:58:20,407 [Druid-ConnectionPool-Create-4...
hbase小能手 2019-12-01 20:25:39 1493 浏览量 回答数 1

问题

【精品问答合集】Hbase热门问答

hbase 大量写入很慢https://yq.aliyun.com/ask/50074 发现hbase文件大规模的丢失了https://yq.aliyun.com/ask/46584 hbase启动脚本start-hbase的疑问https...
hbase小能手 2019-12-01 19:41:25 37316 浏览量 回答数 9

问题

CentOS 下 Hadoop+Hbase 安装手册:报错

安装前必看 因为Hadoop本身的优势的将 文件的存储 和 任务处理 分布化,Hadoop分布式架构中有如下两种负责不同功能的服务器,master服务器 和 slave服务器。所以,本安装手册将从...
kun坤 2020-06-06 14:09:17 0 浏览量 回答数 1

问题

本地通过java访问阿里云hbase,提示MasterNotRunningException

按照官方文档,在本地连接阿里云hbase服务,测试增加表、写数据、获取数据。但是启动测试每次都提示org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf....
xiongsheng 2019-12-01 19:25:16 1198 浏览量 回答数 1

回答

一般出此错误是因为kylin没能连接到hbase;请检查hbase的健康状况,并测试当前shell用户是否有权限创建hbasetable 请检查HBase是否可以正常连接: Causedby:java.lang.IllegalArgumentException:Failedtofindmetadatastorebyurl:kylin_metadata @hbase 相关问题请在邮件列表获得帮助,谢谢。 回复 @社区管理员:最后怎么解决的HBase我通过shell可以链接,并且可以写命令,webui也可以打开其他的链接方式,还没有使用,应该是可以的。你的这个问题是怎么解决的?新人求指导。。。Createnewstoreinstancefailed最后怎么解决的 引用来自“木子简”的评论Createnewstoreinstancefailed最后怎么解决的THINKU!楼主错误怎么解决的,我也遇到相同问题了回复 @社区管理员:请问楼主你是用的哪个版本呢,我用的是HBase1.1.2.2.3.2.0-2950我换了HBase的版本,换成原生的就解决了
爱吃鱼的程序员 2020-06-09 14:56:13 0 浏览量 回答数 0

问题

本地连接导入数据到hbase卡死状态,输入命令hbase zkcli报错

WatchedEvent state:SyncConnected type:None path:null[ERROR] Terminal initialization failed; falling back to unsupported ...
hbase小能手 2019-12-01 20:25:57 929 浏览量 回答数 1

问题

spark 写入habse 连接异常,

spark写入hbase 报错,我本地测试过没问题,但线上的我发现 数据存进入了大部分,后来不知道为什么spark跑到180/200 task任务后就开始报 hbase连接异常了2018-10-11 17:44:49 INFO Clien...
hbase小能手 2019-12-01 20:25:32 966 浏览量 回答数 2

问题

求助:cdh安装完成后,hue无法连接thrift

cdh安装完成后,hue无法连接thrifthue平台的报错是:HBase Browser Failed to authenticate to HBase Thrift Server, check authentication config...
imhzsky 2019-12-01 20:19:36 3346 浏览量 回答数 3

回答

Tue Sep 25 06:41:14 CST 2018, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=68737: Connection refused row 'test1,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=localhost,16020,1530482469684, seqNum=0mac本机连接的主机名是localhost,这块应该是hbase的主机名才对
hbase小能手 2019-12-02 01:41:23 0 浏览量 回答数 0

问题

hbase1.2.1多线程并发查询问题?报错

大家好,请教个问题,我的hbase多线程并发查询数据出现问题,有的线程查询成功,有的失败 我的hbase使用的版本是1.2.1,使用的hbase工具类为 package...
爱吃鱼的程序员 2020-06-08 20:11:47 0 浏览量 回答数 1

问题

连接不上hbase集群

最近搞了一个hbase集群,但一直连不上,求助,谢谢! 具体步骤是: 1. 写了一个java client,就是照着hbase帮助文件抄的 2....
米渣米渣 2019-12-01 22:02:10 1995 浏览量 回答数 0

问题

Java 运行HBase 例子报错?报错

请问Java连接HBase报这个错怎么解决: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.securit...
爱吃鱼的程序员 2020-06-08 14:19:17 0 浏览量 回答数 1

问题

如何使用Java Client 访问

使用JavaClient访问 HBase 访问准备 因为HBase只提供了内网的访问,所以如果要访问HBase,需要在相同的Region内准备一台ECS。如果已经有ECS了那么请继续下一步。如果还没有...
云栖大讲堂 2019-12-01 21:31:13 1242 浏览量 回答数 0

问题

如何从 HBase 迁移到表格存储

TableStore HBase Client 是基于 HBase Client 的封装,使用方法和 HBase Client 基本一致,但是也有一些事项需要注意。 依赖 TableStore HBase...
云栖大讲堂 2019-12-01 20:56:50 1345 浏览量 回答数 0

回答

zookeeper:修改zoo.cfg文件,配置dataDir,和各个zk节点的server地址端口,tickTime心跳时间默认是2000ms,其他超时的时间都是以这个为基础的整数倍,之后再dataDir对应目录下写入myid文件和zoo.cfg中的server相对应。 hadoop:修改 hadoop-env.sh配置java环境变量 core-site.xml配置zk地址,临时目录等 hdfs-site.xml配置nn信息,rpc和http通信地址,nn自动切换、zk连接超时时间等 yarn-site.xml配置resourcemanager地址 mapred-site.xml配置使用yarn slaves配置节点信息 格式化nn和zk。 hbase:修改 hbase-env.sh配置java环境变量和是否使用自带的zk hbase-site.xml配置hdfs上数据存放路径,zk地址和通讯超时时间、master节点 regionservers配置各个region节点 zoo.cfg拷贝到conf目录下 spark: 安装Scala 修改spark-env.sh配置环境变量和master和worker节点配置信息 环境变量的设置:直接在/etc/profile中配置安装的路径即可,或者在当前用户的宿主目录下,配置在.bashrc文件中,该文件不用source重新打开shell窗口即可,配置在.bash_profile的话只对当前用户有效。
珍宝珠 2019-12-02 03:08:05 0 浏览量 回答数 0

回答

在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在研究源码的基础上揭秘这个过程。 在前面的文章“HBase存储架构”中我们已经讨论了HBase基本的存储架构。在此基础上我们引入两个特殊的概念:-ROOT-和.META.。这是什么?它们是HBase的两张内置表,从存储结构和操作方法的角度来说,它们和其他HBase的表没有任何区别,你可以认为这就是两张普通的表,对于普通表的操作对它们都适用。它们与众不同的地方是HBase用它们来存贮一个重要的系统信息——Region的分布情况以及每个Region的详细信息。 好了,既然我们前面说到-ROOT-和.META.可以被看作是两张普通的表,那么它们和其他表一样就应该有自己的表结构。没错,它们有自己的表结构,并且这两张表的表结构是相同的,在分析源码之后我将这个表结构大致的画了出来: -ROOT-和.META.表结构 我们来仔细分析一下这个结构,每条Row记录了一个Region的信息。 首先是RowKey,RowKey由三部分组成:TableName, StartKey 和 TimeStamp。RowKey存储的内容我们又称之为Region的Name。哦,还记得吗?我们在前面的文章中提到的,用来存放Region的文件夹的名字是RegionName的Hash值,因为RegionName可能包含某些非法字符。现在你应该知道为什么RegionName会包含非法字符了吧,因为StartKey是被允许包含任何值的。将组成RowKey的三个部分用逗号连接就构成了整个RowKey,这里TimeStamp使用十进制的数字字符串来表示的。这里有一个RowKey的例子: Java代码 Table1,RK10000,12345678 然后是表中最主要的Family:info,info里面包含三个Column:regioninfo, server, serverstartcode。其中regioninfo就是Region的详细信息,包括StartKey, EndKey 以及每个Family的信息等等。server存储的就是管理这个Region的RegionServer的地址。 所以当Region被拆分、合并或者重新分配的时候,都需要来修改这张表的内容。 到目前为止我们已经学习了必须的背景知识,下面我们要正式开始介绍Client端寻找RegionServer的整个过程。我打算用一个假想的例子来学习这个过程,因此我先构建了假想的-ROOT-表和.META.表。 我们先来看.META.表,假设HBase中只有两张用户表:Table1和Table2,Table1非常大,被划分成了很多Region,因此在.META.表中有很多条Row用来记录这些Region。而Table2很小,只是被划分成了两个Region,因此在.META.中只有两条Row用来记录。这个表的内容看上去是这个样子的: .META.行记录结构 现在假设我们要从Table2里面插寻一条RowKey是RK10000的数据。那么我们应该遵循以下步骤: 1. 从.META.表里面查询哪个Region包含这条数据。 2. 获取管理这个Region的RegionServer地址。 3. 连接这个RegionServer, 查到这条数据。 好,我们先来第一步。问题是.META.也是一张普通的表,我们需要先知道哪个RegionServer管理了.META.表,怎么办?有一个方法,我们把管理.META.表的RegionServer的地址放到ZooKeeper上面不久行了,这样大家都知道了谁在管理.META.。 貌似问题解决了,但对于这个例子我们遇到了一个新问题。因为Table1实在太大了,它的Region实在太多了,.META.为了存储这些Region信息,花费了大量的空间,自己也需要划分成多个Region。这就意味着可能有多个RegionServer在管理.META.。怎么办?在ZooKeeper里面存储所有管理.META.的RegionServer地址让Client自己去遍历?HBase并不是这么做的。 HBase的做法是用另外一个表来记录.META.的Region信息,就和.META.记录用户表的Region信息一模一样。这个表就是-ROOT-表。这也解释了为什么-ROOT-和.META.拥有相同的表结构,因为他们的原理是一模一样的。 假设.META.表被分成了两个Region,那么-ROOT-的内容看上去大概是这个样子的: -ROOT-行记录结构 这么一来Client端就需要先去访问-ROOT-表。所以需要知道管理-ROOT-表的RegionServer的地址。这个地址被存在ZooKeeper中。默认的路径是: Java代码 /hbase/root-region-server 等等,如果-ROOT-表太大了,要被分成多个Region怎么办?嘿嘿,HBase认为-ROOT-表不会大到那个程度,因此-ROOT-只会有一个Region,这个Region的信息也是被存在HBase内部的。 现在让我们从头来过,我们要查询Table2中RowKey是RK10000的数据。整个路由过程的主要代码在org.apache.Hadoop.hbase.client.HConnectionManager.TableServers中: Java代码 private HRegionLocation locateRegion(final byte[] tableName, final byte[] row, boolean useCache) throws IOException { if (tableName == null || tableName.length == 0) { throw new IllegalArgumentException("table name cannot be null or zero length"); } if (Bytes.equals(tableName, ROOT_TABLE_NAME)) { synchronized (rootRegionLock) { // This block guards against two threads trying to find the root // region at the same time. One will go do the find while the // second waits. The second thread will not do find. if (!useCache || rootRegionLocation == null) { this.rootRegionLocation = locateRootRegion(); } return this.rootRegionLocation; } } else if (Bytes.equals(tableName, META_TABLE_NAME)) { return locateRegionInMeta(ROOT_TABLE_NAME, tableName, row, useCache, metaRegionLock); } else { // Region not in the cache – have to go to the meta RS return locateRegionInMeta(META_TABLE_NAME, tableName, row, useCache, userRegionLock); } } 这是一个递归调用的过程: Java代码 获取Table2,RowKey为RK10000的RegionServer => 获取.META.,RowKey为Table2,RK10000, 99999999999999的RegionServer => 获取-ROOT-,RowKey为.META.,Table2,RK10000,99999999999999,99999999999999的RegionServer => 获取-ROOT-的RegionServer => 从ZooKeeper得到-ROOT-的RegionServer => 从-ROOT-表中查到RowKey最接近(小于) .META.,Table2,RK10000,99999999999999,99999999999999的一条Row,并得到.META.的RegionServer => 从.META.表中查到RowKey最接近(小于)Table2,RK10000, 99999999999999的一条Row,并得到Table2的RegionServer => 从Table2中查到RK10000的Row 到此为止Client完成了路由RegionServer的整个过程,在整个过程中使用了添加“99999999999999”后缀并查找最接近(小于)RowKey的方法。对于这个方法大家可以仔细揣摩一下,并不是很难理解。 最后要提醒大家注意两件事情: 1. 在整个路由过程中并没有涉及到MasterServer,也就是说HBase日常的数据操作并不需要MasterServer,不会造成MasterServer的负担。 2. Client端并不会每次数据操作都做这整个路由过程,很多数据都会被Cache起来。至于如何Cache,则不在本文的讨论范围之内。 “答案来源于网络,供您参考”
牧明 2019-12-02 02:15:36 0 浏览量 回答数 0

问题

如何使用 TableStore HBase Client 实现一个简单的 Hello World 程序

本节描述如何使用 TableStore HBase Client 实现一个简单的 Hello World 程序,主要包括下列操作: 配置依赖连接表格存储创建表写数据读数据扫描数据删表 代码位置 当前示例程...
云栖大讲堂 2019-12-01 20:56:58 1371 浏览量 回答数 0

回答

java.lang.NoClassDefFoundError:org/apache/hadoop/net/SocketInputWrapper###### 引用来自“Rayn-瑞恩”的评论 java.lang.NoClassDefFoundError:org/apache/hadoop/net/SocketInputWrapper我也看到了,但是不知道导哪个包解决此问题??######你去common里面看看有没有。。。。###### 我也遇到了相同问题,请问######看看zookeeper的状态,看看其他节点的字符串是不是一致的,最后就是不要用hbase,换个mongodb或者redis######请问您是怎么解决的###### 你看看60020端口有没有开放,前面报的错误是连接不到R
优选2 2020-06-09 11:12:00 0 浏览量 回答数 0

回答

java.lang.NoClassDefFoundError: org/apache/hadoop/net/SocketInputWrapper###### 引用来自“Rayn-瑞恩”的评论 java.lang.NoClassDefFoundError: qorg/apache/hadoop/net/SocketInputWrapper 我也看到了,但是不知道导哪个包解决此问题??######你去common里面看看有没有。。。。###### 我也遇到了相同问题,请问######看看zookeeper的状态,看看其他节点的字符串是不是一致的, 最后就是不要用hbase,换个mongodb或者redis######请问您是怎么解决的###### 你看看60020端口有没有开放,前面报的错误是连接不到R
爱吃鱼的程序员 2020-05-30 17:03:33 0 浏览量 回答数 0

问题

使用java 开发连接 Hbase程序,出现连接之后永久等待?报错

window下 开发的日志如下 14-11-25.17:10:28.904 [main-SendThread(CentOs-PC:2181)] INFO  ClientCnxn             - Opening socket...
爱吃鱼的程序员 2020-06-14 19:58:11 0 浏览量 回答数 1

问题

使用idea打包spark jar后运行出错 400 请求报错 

在idea上使用scala插件,创建scala-maven工程成功运行,打jar包出错 代码: package com.chanct.idap.ssm.spark import com.cha...
kun坤 2020-05-30 15:09:39 1 浏览量 回答数 1

问题

用idea调试Spark时,遇到java.lang.ClassNotFoundE?400报错

写了段简单的代码测试下,连接虚拟机上的Spark standalone: object SparkHbase { def main(args: Array[String]) { System.set...
爱吃鱼的程序员 2020-06-08 16:40:19 0 浏览量 回答数 1

回答

本文档介绍如何使用Sqoop工具实现文件存储HDFS和关系型数据库MySQL之间的双向数据迁移。 背景信息 Sqoop是一款开源的工具,主要用于在Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据 。既可以将一个关系型数据库(MySQL 、Oracle 、Postgres等)中的数据导入HDFS中,也可以将HDFS的数据导入到关系型数据库中。 准备工作 现在Sqoop分为Sqoop1和Sqoop2,两个版本并不兼容。本案例选择使用sqoop1的稳定版本Sqoop 1.4.7 版本。 下载Sqoop 1.4.7 版本。 解压安装包。 tar -zxf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home/hadoop/ 配置环境变量。 执行vim /etc/profile命令,打开配置文件,添加如下内容。 export SQOOP_HOME=/home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0 export PATH=$PATH:$SQOOP_HOME/bin 执行source /etc/profile命令,使配置生效。 添加数据库驱动。 下载MySQL链接包。 wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar 将MySQL链接包存放到Sqoop安装目录的lib目录下。 cp mysql-connector-java-5.1.38.jar /home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/lib/ 修改配置文件。 执行如下命令进入/home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf目录。 cd /home/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf 执行如下命令复制sqoop-env-template.sh,并命名为sqoop-env.sh。 cp sqoop-env-template.sh sqoop-env.sh 执行vim sqoop-env.sh命令打开配置文件,添加如下内容。 export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.7.2 export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.7.2 export HIVE_HOME=/home/hadoop/hive-2.1.0 #若没有安装hive、hbase可不必添加此配置 export HBASE_HOME=/home/hadoop/hbase-1.2.2 #若没有安装hive、hbase可不必添加此配置 执行如下命令验证数据库是否连接成功。 sqoop list-databases --connect jdbc:mysql:// --username 'username' --password 'password' 参数 说明 dburi 数据库的访问连接,例如: jdbc:mysql://0.0.0.0:3306/。 username 数据库登录用户名。 password 用户密码。 如果回显信息中显示MySQL数据库的名称,则表示连接成功。 将MySQL的数据迁移到HDFS上 在集群Sqoop节点上,使用sqoop import命令将MySQL中的数据迁移到HDFS上。 此处以迁移MySQL中的employee表为例,employee表中已写入如下数据。 01,测试用户1,1990-01-01,男 02,测试用户2,1990-12-21,男 03,测试用户3,1990-05-20,男 04,测试用户4,1990-08-06,男 05,测试用户5,1991-12-01,女 执行以下命令迁移数据。 sqoop import --connect jdbc:mysql://172.x.x.x:3306/sqoop_migrate --username 'userid' --password 'userPW' --table employee --target-dir /mysql2sqoop/table/sqoop_migrate --num-mappers 1 --columns "e_id,e_name,e_birth,e_sex" --direct 命令格式:sqoop import --connect jdbc:mysql:// / --username --password --table --check-column --incremental --last-value --target-dir 参数说明如下所示,更多详情请参见Sqoop Import。 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 col 迁移表中列的名称。 mode 该模式决定Sqoop如何定义哪些行为新的行。取值:append或lastmodified。 value 前一个导入中检查列的最大值。 hdfs-dir HDFS的写入目录,此处以/mysql2sqoop/table/sqoop_migrate为例。 检查迁移结果。 执行hadoop fs -ls /mysql2sqoop/table/sqoop_migrate命令,获取迁移文件,此处以part-m-00000为例。 Found 2 items -rwxrwxrwx 3 root root 0 2019-08-21 14:42 /mysql2sqoop/table/sqoop_migrate/_SUCCESS -rwxrwxrwx 3 root root 200 2019-08-21 14:42 /mysql2sqoop/table/sqoop_migrate/part-m-00000 执行hadoop fs -cat /mysql2sqoop/table/sqoop_migrate/part-m-00000命令查看文件中的内容。 如果part-m-00000文件中有如下内容,则表示迁移成功。 01,测试用户1,1990-01-01,男 02,测试用户2,1990-12-21,男 03,测试用户3,1990-05-20,男 04,测试用户4,1990-08-06,男 05,测试用户5,1991-12-01,女 将HDFS的数据迁移到MySQL上 将HDFS的数据迁移到MySQL上,需要先在MySQL上创建好对应HDFS数据结构的表,然后在集群Sqoop节点上使用sqoop export命令进行迁移。 此处以迁移HDFS上mysqltest.txt中的数据为例,mysqltest.txt中已写入如下数据。 6,测试用户6,2019-08-10,男 7,测试用户7,2019-08-11,男 8,测试用户8,2019-08-12,男 9,测试用户9,2019-08-13,女 10,测试用户10,2019-08-14,女 创建数据库。 create database sqoop_migrate; 使用已创建的数据库。 use sqoop_migrate; 创建表。 CREATE TABLE employee ( e_id varchar(20) NOT NULL DEFAULT '', e_name varchar(20) NOT NULL DEFAULT '', e_birth varchar(20) NOT NULL DEFAULT '', e_sex varchar(10) NOT NULL DEFAULT '', PRIMARY KEY (e_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 执行以下命令迁移数据。 sqoop export --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'userPW' --num-mappers 1 --table employee --columns "e_id,e_name,e_birth,e_sex" --export-dir '/sqoop2mysql/table/mysqltest.txt' --fields-terminated-by ',' 迁移命令格式:sqoop export --connect jdbc:mysql:// / --username --password --table --export-dir 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 hdfs-dir 存放待迁移数据的HDFS目录,此处以/sqoop2mysql/table/mysqltest.txt为例。 验证迁移结果。 执行以下命令进入数据库。 mysql -uroot -p 执行以下命令使用数据库。 use sqoop_migrate; 执行select * from employee;命令查看表数据。 如果表中有如下数据,则表示迁移成功。 ... | 6 | 测试用户6 | 2019-08-10 | 男 | | 7 | 测试用户7 | 2019-08-11 | 男 | | 8 | 测试用户8 | 2019-08-12 | 男 | | 9 | 测试用户9 | 2019-08-13 | 女 | | 10 | 测试用户10 | 2019-08-14 | 女 | +------+---------------+------------+-------+ 10 rows in set (0.00 sec) 将MySQL的数据迁移到Hive上 在集群Sqoop节点上使用sqoop import命令可以将MySQL上的数据迁移到Hive上。 此处以迁移MySQL中的employee表为例,employee表中已写入如下数据。 1,测试用户1,2019-08-10,男 2,测试用户2,2019-08-11,男 3,测试用户3,2019-08-12,男 4,测试用户4,2019-08-13,女 5,测试用户5,2019-08-14,女 执行以下命令迁移数据。 sqoop import --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'PW' --table employee --hive-import --hive-database default --create-hive-table --hive-overwrite -m 1 ; 迁移命令格式:sqoop import --connect jdbc:mysql:// / --username --password --table --check-column --incremental --last-value --fields-terminated-by "\t" --lines-terminated-by "\n" --hive-import --target-dir --hive-table 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 col 迁移表中列的名称。 mode 该模式决定Sqoop如何定义哪些行为新的行。取值:append或lastmodified。 value 前一个导入中检查列的最大值。 hdfs-dir HDFS的写入目录。 hive-tablename 对应的Hive中的表名。 验证迁移结果。 执行select * from default.employee;命令查看表数据,如果表中有如下数据,则表示迁移成功。 1 测试用户1 2019-08-10 男 2 测试用户2 2019-08-11 男 3 测试用户3 2019-08-12 男 4 测试用户4 2019-08-13 女 5 测试用户5 2019-08-14 女 ... Time taken: 0.105 seconds, Fetched: 14 row(s) 将Hive的数据迁移到MySQL上 将Hive的数据迁移到MySQL上,需要先在MySQL上创建好对应Hive数据结构的表,然后在集群Sqoop节点上使用sqoop export命令进行迁移。 此处以迁移Hive上hive_test.txt中的数据为例,hive_test.txt中已写入如下数据。 1,测试用户1,2019-08-10,男 2,测试用户2,2019-08-11,男 3,测试用户3,2019-08-12,男 4,测试用户4,2019-08-13,女 5,测试用户5,2019-08-14,女 在MySQL上的sqoop_migrate库中创建好要导入的表。 use sqoop_migrate ; CREATE TABLE employeeOnHive( id VARCHAR(20), name VARCHAR(20) NOT NULL DEFAULT '', birth VARCHAR(20) NOT NULL DEFAULT '', sex VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(id) ); 执行以下命令迁移数据。 sqoop export --connect jdbc:mysql://172.0.0.0:3306/sqoop_migrate --username 'userid' --password 'userPW' --table employeeOnHive -m 1 --fields-terminated-by ',' --export-dir /user/hive/warehouse/employeeonhive 迁移命令格式:sqoop export --connect jdbc:mysql:// / --username --password --table --export-dir --fields-terminated-by 参数 说明 dburi 数据库的访问连接。例如:jdbc:mysql://172.x.x.x:3306/ 。如果您的访问连接中含有参数,则请加上单引号,例如:'jdbc:mysql://172.x.x.x.235:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8'。 dbname 数据库的名字,例如:user。 username 数据库登录用户名。 password 用户密码。 tablename MySQL数据库中表的名称。 hive-dir 存放待迁移数据的HDFS目录,此处以/sqoop2mysql/table/mysqltest.txt为例。 Splitter Hive中表中数据分隔符。hive默认为“\001”。 验证迁移结果。 执行以下进入数据库。 mysql -uroot -p 执行以下命令使用数据库。 use sqoop_migrate; 执行select * from sqoop_migrate.employeeOnHive;命令查看表数据。 如果表中有如下数据,则表示迁移成功。 +----+---------------+------------+-----+ | id | name | birth | sex | +----+---------------+------------+-----+ | 1 | 测试用户1 | 2019-08-10 | 男 | | 2 | 测试用户2 | 2019-08-11 | 男 | | 3 | 测试用户3 | 2019-08-12 | 男 | | 4 | 测试用户4 | 2019-08-13 | 女 | | 5 | 测试用户5 | 2019-08-14 | 女 | +----+---------------+------------+-----+ 5 rows in set (0.00 sec)
1934890530796658 2020-03-31 02:35:38 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化