
获得徽章 9
- #沸你不可#
【我们都是知识分享官 1.23】
1. 掘金摸鱼组队员:@翊君;@哀家在冷宫学习
2. 大数据小知识
spark常用数据类型转换
JavaRDD<Row>到Dataset<Row>
JavaRDD<Row> rowRdd = rdd.map(x -> new Model(id));
List<StructField> fieldList = new ArrayList<>();
fieldList.add(DataTypes.createStructField("id", DataTypes.IntegerType, false));
StructType schema = DataTypes.createStructType(fieldList);
df = spark.createDataFrame(rowRdd, schema);
df.show();
df.printSchema();
Dataset<Row> => JavaRDD<Model>
rdd = df.toJavaRDD().map(row -> {
String id = row.getAs("id");
return new Model(id);
});
rdd.foreach(element -> System.out.println(element.toString()));展开赞过评论1 - #沸你不可#
【我们都是知识分享官 1.22】
1. 掘金摸鱼组队员:@翊君;@哀家在冷宫学习
2. 大数据小知识
sparkJavaApi
1、map
数据集中的每个元素经过用户自定义的函数转换形成一个新的RDD,新的RDD叫MappedRDD
2、flatmap
函数应用于RDD中的每个元素,将返回的迭代器的所有内容构成新的RDD,通常用来切分单词。与map的区别是:这个函数返回的值是list的一个,去除原有的格式
3、mapPartitions
mapPartitions函数会对每个分区依次调用分区函数处理,然后将处理的结果(若干个Iterator)生成新的RDDs。
mapPartitions与map类似,但是如果在映射的过程中需要频繁创建额外的对象,使用mapPartitions要比map高效的过。比如,将RDD中的所有数据通过JDBC连接写入数据库,如果使用map函数,可能要为每一个元素都创建一个connection,这样开销很大,如果使用mapPartitions,那么只需要针对每一个分区建立一个connection。展开评论点赞 - #沸你不可#
【我们都是知识分享官 1.21】
1. 掘金摸鱼组队员:@翊君;@哀家在冷宫学习
2. 大数据小知识
sparkJavaApi
1、join
将一组数据转化为RDD后,分别创造出两个PairRDD,然后再对两个PairRDD进行归约(即合并相同Key对应的Value)
2、cogroup
有两个元组Tuple的集合A与B,先对A组集合中key相同的value进行聚合,然后对B组集合中key相同的value进行聚合,之后对A组与B组进行"join"操作;
3、GroupByKey
groupByKey也是对每个key进行操作,但只生成一个sequence,groupByKey()是基于combineByKey()实现的, 只是将 Key 相同的 records 聚合在一起,一个简单的 shuffle 过程就可以完成展开评论点赞 - #沸你不可#
【我们都是知识分享官 1.20】
1. 掘金摸鱼组队员:@翊君;@哀家在冷宫学习
2. 大数据小知识
hive表的几种压缩格式
gzip 压缩
优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。
缺点:不支持split。
lzo 压缩
优点:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;支持hadoop native库;可以在linux系统下安装lzop命令,使用方便。
缺点:压缩率比gzip要低一些;hadoop本身不支持,需要安装;在应用中对lzo格式的文件需要做一些特殊处理(为了支持split需要建索引,还需要指定inputformat为lzo格式)。
snappy 压缩
优点:高速压缩速度和合理的压缩率;支持hadoop native库。
缺点:不支持split;压缩率比gzip要低;hadoop本身不支持,需要安装;linux系统下没有对应的命令。
bzip2 压缩
优点:支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便。
缺点:压缩/解压速度慢;不支持native。展开赞过评论1 - #沸你不可#
【我们都是知识分享官 1.19】
1. 掘金摸鱼组队员:@翊君;@哀家在冷宫学习
2. 大数据小知识
hive表的几种存储格式
textFile,默认格式,磁盘开销大;数据解析开销大;压缩的text文件,hive无法进行合并和拆分
sequencefile,以<key,value>的形式序列化到文件中,可分割、压缩,一般选择block压缩,与hadoop api中的mapfile是互相兼容的
Rcfile,数据按行分块 每块按照列存储, 压缩快 快速列存取
ORC,数据按行分块 每块按照列存储,压缩快 快速列存取展开赞过评论1