发现采用shcjar的话,总是执行到某个点就停止了
于是我打算尝试一下直接说哦用org.apache.hadoop.hbase.spark这个datasource看看
确实不行,即使没有createtable,也是报错没有权限创建表;还是专心来研究一下shc吧
翻看一下日志,日志注明了spark查看路径:http://192.168.156.104:4041
后来过了一段时间,报错
Failed 1 action: Unable to find region for a in test after 35 tries.: 1 time,
 
Can not infer schema for type: <type 'str'>
这是因为我尝试向HBase中插入
df = sc.parallelize(['b', '2.0']).toDF(schema=['col0', 'col1']),插入的数据格式有误;
 
list_namespace 罗列naespace
list_namespace_tables XXX 罗列某个命名空间下的所有表
 
后来我想到了应该看日志;于是上网搜索了一下spark的日志,发现应该通过18088,History Server Log中能够看到一些蛛丝马迹
zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
17/08/15 00:06:00 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
难道是ZooKeeper的一些问题?
通过zkCli.sh报错,和上面是一样的,也就是说,zookeeper的客户端也是报错的,搜了一下可能的问题:
1.时间同步问题;
2.zoo.cfg的clientPort要设置为2181(和客户端hbase-site.xml一致)
3.hosts中对于localhost6一行要删掉
前两个排除了,想要通过第三种方式是一下,但是太烦了,集群所有的机器都要重启(修改hosts文件需要重启),我打算再看看,能够找到别的解决方案;后来我在通过ClouderaManager页面的时候,看到Zookeeper的一个配置告警,建议Server最少要三台;我突然想到曾经看到过zookeeper集群有选举机制,只有超过半数通过才能够提供服务;于是增加了两个实例,问题,解决了。
 
下面的是采用原生的Pyspark以及shcjar两种方式实现的hive到hbase,但是在实际测试中发现在大数据量(比如数据2个G)的情况下,这种pyspark方式会导致一个问题,卡在中间某个任务,之后被告知超时,然后YARN将其kill掉。可能是系统性能问题?
 
 

hive通过spark导入hbase的更多相关文章

  1. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

  2. 用spark导入数据到hbase

    集群环境:一主三从,Spark为Spark On YARN模式 Spark导入hbase数据方式有多种 1.少量数据:直接调用hbase API的单条或者批量方法就可以 2.导入的数据量比较大,那就需 ...

  3. Spark:DataFrame批量导入Hbase的两种方式(HFile、Hive)

    Spark处理后的结果数据resultDataFrame可以有多种存储介质,比较常见是存储为文件.关系型数据库,非关系行数据库. 各种方式有各自的特点,对于海量数据而言,如果想要达到实时查询的目的,使 ...

  4. hive-hbase-handler方式导入hive表数据到hbase表中

    Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler.jar工具类 : hive-hbase-handler.jar在 ...

  5. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...

  6. sqoop将mysql数据导入hbase、hive的常见异常处理

    原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10700700.html,否则将追究法律责任!!! 一.需求: 1.将以下这张表(test_ ...

  7. Spark整合HBase,Hive

    背景: 场景需求1:使用spark直接读取HBASE表 场景需求2:使用spark直接读取HIVE表 场景需求3:使用spark读取HBASE在Hive的外表 摘要: 1.背景 2.提交脚本 内容 场 ...

  8. spark读取hbase形成RDD,存入hive或者spark_sql分析

    object SaprkReadHbase { var total:Int = 0 def main(args: Array[String]) { val spark = SparkSession . ...

  9. Hive如何加载和导入HBase的数据

    当我们用HBase 存储实时数据的时候, 如果要做一些数据分析方面的操作, 就比较困难了, 要写MapReduce Job. Hive 主要是用来做数据分析的数据仓库,支持标准SQL 查询, 做数据分 ...

随机推荐

  1. MySQL联表更新插入数据

    Error: DELETE FROM t_23andme_addref WHERE id IN (  SELECT min(id)  FROM t_23andme_addref   GROUP BY ...

  2. linux SPI驱动——spi协议(一)

    一:SPI简介以及应用 SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在 ...

  3. 安装部署zookeeper集群

    实验说明: 三台虚拟机做zookeeper集群,集群个数最好是奇数个,原理详见zookeeper 详解  安装zookeeper 请确保jdk 已安装好,否则无法启动  三台虚拟机IP分别为:192. ...

  4. MySQL数据库的常见操作(七)

    MySQL数据库的常见操作 1.创建数据库 2.创建重名的数据库以及如何查看警告信息 3.设置数据库的编码方式(默认为utf8) 4.修改和查看数据库的编码方式 5.删除数据库 6.6.删除已经删除了 ...

  5. Python 时间格式化(转)

    From:http://www.cnblogs.com/65702708/archive/2011/04/17/2018936.html http://www.wklken.me/posts/2015 ...

  6. spirng boot资料

    这里有个srping boot 各种整合的资料 https://blog.csdn.net/Winter_chen001/article/details/80537829 SpringBoot入门总结 ...

  7. 我的Java开发学习之旅------>Java经典排序算法之二分插入排序

    一.折半插入排序(二分插入排序) 将直接插入排序中寻找A[i]的插入位置的方法改为采用折半比较,即可得到折半插入排序算法.在处理A[i]时,A[0]--A[i-1]已经按关键码值排好序.所谓折半比较, ...

  8. 我的Java开发学习之旅------>使用Working Setst将Eclipse中的项目分类使项目一目了然

    今天发现Eclipse中若有太多的项目,杂七杂八的,看起来会非常的痛苦.今天请教公司的前辈学会了一个方法,在Eclipse中,当项目比较多的时候,我们可以用WorkingSet将这些项目分类,把相关连 ...

  9. mysql的安装与基本管理

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS ...

  10. debian下编译openwrt固件

    参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...