假设你有一张hive表,最开始是没有分区的,后来你想建一张新表,并以其中一个字段做分区,并将原本未分区表的数据导入过来,你要怎么做呢。这里记录一个使用sql自动创建分区的方法测试。
presto查询hive表报错:end index must not be greater than size问题分析和解决
tips:
presto 0.208连接hive有不少坑,请尽量不要选择这个版本。 presto0.208以上的版本,jdk需要8_151+.
问题还原:
集群环境
hive 2.3.3
presto 0.208
hadoop 2.6
集群有张hive表使用hive-cli查询是OK, 但是使用presto cli进行select * from table_name 同样的sql 语法查询会报错,error stack大致如下:
cdh发行版下Phoenix on hbase的使用
介绍
Apache Phoenix项目由saleforce开源并贡献给Apache基金会,目前为Apache基金会的顶级项目。它是构建在HBase上的SQL中间层。 Phoenix会将用户编写的sql查询编译为一系列的scan操作,最终产生通用的JDBC结果集返回给客户端,小范围的查询可做到毫秒级响应,千万数据的响应速度为秒级。
引子
最近在不断给公司大数据平台添加新组件,这次是Phoenix,这个组件的一大吸引力是为hbase提供二级索引的功能。关于Phoenix的架构和功能介绍,网上文档有很多,这里就不班门弄斧了。这里主要记录一下组件添加过程中遇到的难点吧。
记一个网卡mtu引起的终端卡死问题
公司的一个Hadoop集群,集群的每个节点都部署了一个agent,可以从另外一台管理机去访问各个Hadoop节点的agent服务,去获取节点信息和做一个节点管理操作。最近发现了一个问题,同事反馈从管理去请求Hadoop节点的agent很异常,有很多会请求超时,同时,同事也反馈了另外一个情况, 如果从管理机ssh到集群节点,执行一下操作,经常会造成终端卡死,无法响应。
docker桥接容器中支持与ipv6地址的联通
场景还原
之前用openresty做了一个动态代理http请求的网关,为了部署方便,打包成了docker镜像, 以docker容器的方式提供的服务,网络模式选择的桥接。最近多了个需求,需要把用户请求转发到ipv6地址的目标服务器上,之前在写代码的时候,做过兼容,所以觉得没问题,但是实际测试,才发现是不OK,最后发现是容器中无法ping通对方的ipv6地址(ping6 xxxx), 从容器中退出来,宿主机ping6是可以通的, 所以就把问题锁定在了docker对ipv6的支持上。
对openresty使用的反思
总结反思
如题,这是一个个人对openresty使用的反思贴,也是一个记录贴。说起来,在项目中使用openresty已经有不短的时间了,主要是做API网关和一些动态负载均衡的功能,转眼已经是2019年了,过完年回来,又要开始紧锣密鼓地推进工作进度了,其中一块功能又选择了使用openresty来做。
火车记忆-1
又是一年春节假期,请了些假提前回河南老家。之前抢票的时候,无奈抢了一张一等座,些许心疼也只得买了,毕竟能回去团聚就好。到了虹桥候车站,看人山人海,大家都是匆忙的赶路人,等到了车上,一等座果然是宽敞了许多,毕竟是高出了将近一倍的费用。
使用ambari快速构建Hadoop集群
引言
Cloudera和Hortonworks算是最著名的两个做Hadoop产品发行版的公司了,之前在坐一个监控系统的时候,需要一个时序数据库去存放监控的时许数据,最后选择了opentsdb,因为opentsdb是一个基于HBase构建的数据库,所以,为了部署一个opentsdb集群,就不得不先部署一个HBase集群,当时为了和部门统一,使用了cdh发行版去安装,当时,是根据Cloudera官网都文档step by step一点点部署起来(我并没有选择免费版的cloudera manager),可谓是极其耗时,因为不熟悉,我需要一步步敲命令,确认每一步的结果,如果遇到问题,还还要花时间却Google解决办法。
js中new的运算符优先级问题记录
最近换了部门,要从头开始看新部门的一个node.js项目,看项目框架的时候,被一个关于new的问题卡了一下,简化一下问题代码:
《Civilization and Its Discontents》一读杂记
一次偶然的机会,看到别人对弗洛伊德(Sigmund Freud)这本书的讨论,中文翻译作《文明及其不满》,直觉告诉我,值得一看,就找来看了看,当然也是先去豆瓣看了看评论,感兴趣的可以看这里。