Hive
tinyid
Java/Python
Hadoop/Spark/Presto/Kafka/Druid
numpy/matplotlib/pandas/scipy
展开
-
Hive数据操纵语言
修改Hive中的数据有两种主要的方式:加载文件到表中HIVE在加载数据到表中的时候并不作任何的转换。现在的加载操作只是纯的复制/移动操作,将数据文件移动到对应的hive表的位置。load data [local] inpath 'filepath' [over翻译 2011-02-11 12:13:00 · 2710 阅读 · 1 评论 -
另一种扩展并加速Hadoop计算能力的计算架构—Presto
Hadoop自身的MapReduce计算框架是非常chua原创 2014-09-25 11:13:41 · 6623 阅读 · 0 评论 -
对HDFS存储粒度的一点新认识
首先HDFS是适合大文件存储的文件系统,对于过多的小文件的应用场景并不适合。以下是一些使用过程中的经验和总结,希望对大家有所帮助,当然,如有谬误,也请大家指出,欢迎讨论。过犹不及——根据数据查询需求,定制数据存储粒度为了尽可能的细化数据存储粒度,我们对于每个产品的数据,按天进行隔离存储,这样,我们在查询某个产品某天的数据时,从HDFS中读取的数据就只是那一天的数据,这样从IO层面上原创 2014-03-28 11:39:32 · 1949 阅读 · 0 评论 -
CentOS 5.x和CentOS 6.x限制单个用户线程数上限的不同行为
在使用HiveServer的过程中,通过一个Java程序向其并发提交多个Job,我们发现在同时提交的任务较多的时候,程序就会莫名其妙地卡住,并报出内存溢出(OOM)的错误,但是经过排查,系统还有数十GB的内存处于FREE状态,JVM的内存上限也非常大,所以可以断定问题的原因并不是因为内存不够,而有其它原因。根据以往的经验,我们在部署服务器的时候,会设置一个系统最大打开文件数量和系统最大原创 2014-03-07 11:32:05 · 5521 阅读 · 1 评论 -
HUE beeswax中文显示问题的解决方案
HUE是Cloudera推出的Hadoop生态系统的Web访问接口,基于Python Django开发。在使用过程中发现,如果提交的SQL语句中有中文的注释,提交之后,整个语句将会保存在后端的MySQL历史表中,但是再次去查看历史记录的时候,其中的中文却显示成一串问号。显然,这种问题是因为数据库编码问题导致的。为了解决这个问题,可以做如下的操作:1。 修改MySQL的配置文件(/e原创 2013-05-23 19:03:05 · 6142 阅读 · 2 评论 -
结合Scribe/RabbitMQ/pika实现为Hive动态添加partition元数据
现有架构中通过Scribe直接向HDFS中写入数据,大部分的对数据的操作都是通过Hive来进行的,所以需要在数据进入HDFS之后就能通过Hive来访问到具体的数据,这就需要以数据驱动来添加元数据。以前使用的方式是通过按照固定的时间间隔来执行一个并行批量添加元数据的Java程序,不过那样做可能会漏掉一些没有过来的partition的添加,为此我们还必须在第二天再一次执行,确保所有的数据都被映射到了H原创 2013-04-25 11:15:41 · 1924 阅读 · 2 评论 -
使用Python通过Thrift接口访问HBase和Hive
HBase和Hive都提供了thrift服务,作为给其它非JVM语言访问的接口,其使用本身非常简单。以下是封装好的两个访问接口,数据最终被组织成一个列表,列表里的每个元素都是一个字典,这样元数据和数据放在一起,虽然占用的内存多了一些,但是使用起来方便了许多,并且从效果上也拉近了和关系数据库的距离,这点类似于MongoDB。如果要使用以下这两个工具类,必须首先将HBase和Hive对应的Thri原创 2013-03-21 16:10:04 · 3596 阅读 · 1 评论 -
使用Hive UDF和GeoIP库为Hive加入IP识别功能
Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析、处理有着非常大的意义。GeoIP是一套IP映射数据库,它定时更新,并且提供了各种语言的API,非常适合在做地域相关数据分析时的一个数据源。UDF是Hive提供的用户自定义函数的接口,通过实现它可以扩展Hive目前已有的内置函数。而为Hive加入一个IP映射函数,我们原创 2013-01-30 23:53:50 · 5081 阅读 · 4 评论 -
一个数据应用闭环
收集:各种开源的分布式日志收集系统:Scribe, Flume等等存储可以同时包含各种不同的存储类型,可根据不同的需求增减相应的存储类型:底层存储:能够存储大量的数据,最好具有可扩展性 HDFS S3等等关系存储:MySQL,Postgresql等等键值存储:HBase,Redis等等计算计算能力也应该同时包含集中不同的类型,可根据不同的需求增减相应原创 2012-11-14 18:17:24 · 2034 阅读 · 0 评论 -
hive配置远程metastore的方法
hive配置远程metastore的方法: 1)首先配置hive使用本地mysql存储metastore(服务器A 111.121.21.23)(也可以使用远程mysql存储) 2)配置完成后,在服务器A启动服务:/etc/init.d/hadoop-hive-metastore start (默认监听端口是:9083) 3)配置hive客户端,修改原创 2012-03-28 18:11:50 · 4689 阅读 · 0 评论 -
hive中的外表EXTERNAL TABLE
原文:http://www.oratea.net/?p=489在hive中,外表是个很重要的组成部分,通过外表可以很方便进行数据的共享。因为普通的表会将数据文件拷贝自己的目录下,这样想要分享数据只能保存多份数据。但是外表很好的解决了这个问题。CREATE EXTERNAL TABLE sunwg_test09(id INT, name string)ROW FORMAT转载 2011-11-02 15:18:21 · 19374 阅读 · 1 评论 -
Hadoop/Hive简介
Hadoop是一个存储计算框架,主要由两部分组成:存储(Hadoop分布式文件系统-HDFS)计算(MapReduce计算框架)Hadoop分布式文件系统这是一种文件系统实现,类似于NTFS,ext3,ext4等等,不过它是建立在更高的层次之上的。在HDFS上存储的文件被分成块(每块默认未64M,比一般的文件系统块大小大的多,可调)分布在原创 2011-11-22 15:01:13 · 4054 阅读 · 0 评论 -
Hive应用性能优化
1. 将表分区(Partitioned Table)通过将表划分为相互独立的分区,对应于HDFS上相互独立数据目录,在查询时通过指定分区列上的条件,将读取数据的范围限定在关心的数据上,而不需要读取全表数据,继而提升查询性能;通过CREATE TABLE语句实现。2. 分桶(Bucked Table)所谓分桶就是将表中的内容以某列为基准,对所指定的桶的个数N进行模运算,继而将数据划分成N份,对应于H...原创 2018-07-03 11:42:36 · 455 阅读 · 0 评论