- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 Hive 学习笔记(三)
自定义函数当写hive UDF时,有两个选择:一是继承 UDF类,二是继承抽象类GenericUDF。这两种实现不同之处是:GenericUDF 可以处理复杂类型参数,并且继承GenericUDF更加有效率,因为UDF class 需要HIve使用反射的方式去实现。UDF一个UDF 必须满足两个条件: 1. 必须继承 org.apache.hadoop.hive.ql.exec.UDF类 2.
2016-06-27 18:48:30 2232
原创 Hive 学习笔记 (二)
存储格式Hive从两个维度对表的存储进行管理: row format 和 file format。 row format 指 行和一行中的字段如何存储。对于Hive来说,row format的定义由SerDe定义。查询表时,SerDe 把文件中字节形式的数据行反序列化为Hive内部操作数据行时所使用的对象形式。执行Insert 或者CTAS 时,表的SerDe会把Hive的数据行内部表示形式序列化成
2016-06-24 18:27:06 5474
原创 Hive 学习笔记(一)
DataType 数据类型hive支持以下数据类型:有符号整数: BIGINT(8 字节),INT(4字节),SMALLINT(2字节)、TINYINT(1字节)浮点数:FLOAT 、 DOUBLEBOOLEAN:FLASE、TRUESTRINGMAP:无序键值对。键的类型必须是原子的,值可以是任意类型,同一个映射的键的类型必须相同,值的类型也必须相同ARRAY: 有序列表,所有元素都必
2016-06-24 14:57:50 594
原创 Pig 学习之 日志处理
以Apache 日志为例。创建加载器 @Override public Tuple getNext() throws IOException { tuple = new ArrayList<Object>(11); for (int i = 0; i < 11; i++) { tuple.add(null); }
2016-06-20 19:20:58 1478
原创 Pig学习之 UDF
Eval function详细点击[官方文档](http://pig.apache.org/docs/r0.16.0/udf.html#eval-functions)Algebraic Interface代数函数实现了 这个接口,并提供了处理整个bag的机制。结果通常必须是scalar类型的,例如,代数函数的结果不能是 tuple、bag或者map类型。这个函数的特性是它不能处理未经过排序的整个数
2016-06-20 17:56:51 1433
原创 Pig 学习之 Join 、Group、sort、Union
joinA:(2,Tie)(4,Coat)(3,Hat)(1,Scarf)B:(Joe,2)(Hank,4)(Ali,0)(Eve,3)(Hank,2)inner joinA = LOAD ‘A’;B = LOAD ‘B’;C = JOIN A BY $0, B BY $1;DUMP C;output:(2,Tie,Hank,2)(2,Tie,Joe,2)(3,Hat,E
2016-06-19 14:57:58 4458
原创 Parquet 之mapreduce
在mapreduce中使用Parquet,根据不同的序列化方式,有不同的选择,下面以Avro为例: 使用 AvroParquetInputFormat 和 AvroParquetOutputFormat @Override public int run(String[] strings) throws Exception { Path inputPath = new
2016-06-16 16:10:09 6226 6
原创 Parquet 读写
write and read MessageType schema = MessageTypeParser.parseMessageType("message Pair {\n" + " required binary left (UTF8);\n" + " required binary right (UTF8);\n"
2016-06-08 17:52:59 11376 2
原创 Parquet
Columnar storage像文本、关系型数据库的表这种数据存储方式都是基于row的,这意味着所有的字段都从第一行开始写,然后写第二行,以此类推。诸如JSON、XML、Avro这种 row storage数据序列化存储格式也是基于行存储的。而列存储的设计,数据存储首先按列存储,然后按行存储。所有记录的第一个字段的值先被写入,然后是第二个字段,以此类推。下面图片可以很形象的说明这两者的不同之处。使
2016-06-08 15:04:49 4337
原创 Hadoop 之 Avro
从结构上看,Avro和SequenceFile的很相似。schema被序列成Header的一部分,可以是反序列化变的简单。每个block都包含一系列Avro记录,默认情况下,大小为16KB。Avro数据文件支持压缩,并且可切分。序列化与反序列化使用程序从数据流中读/写 Avro数据,首先需要一个Avro模式文件。Avro 模式文件(.avsc):{ "namespace": "com.had
2016-06-07 19:49:57 5088
原创 记我的一次JVM监控
环境: jdk1.8 ubuntu 16.04先看图 上面两张图片是jconsole监控界面,程序已运行超过12小时。先说下程序吧:主要是用来网站二维码图片的预热,生成300*300的大小的二维码,并且调用ImageMagick将图片压缩未90大小。 public static void generate(List<String> list){ list.parallelStre
2016-06-04 19:19:05 633
原创 hadoop 之 mapreduce 特性
Sort全排序从map -> reduce ,shuffle过程中会根据key进行排序,但是这个排序只保证输入到每个reduce前的数据是有序的。那么如何产生一个全局排序的文件?最简单的方法是所有数据都在一个分区(如果不指定分区class,默认使用HashPartitioner),但是在处理大数据的时,显然不是个好注意。有一种思路:按照排序的key顺序划分partitioner,保证各个分区输出是有
2016-06-04 18:35:18 1856
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人