spark
文章平均质量分 52
fjr_huoniao
一个特立独行的人
展开
-
spark简单自我介绍
Apache Spark 是大规模数据处理领域一个快速的常见的引擎,以下是Spark的一些特点:速度: 在内存上运行程序相当于hadoop mapreduce处理的100倍,在磁盘上运行速度是hadoop的10倍Spark提供一个高级的DAG处理引擎,可以支持循环数据流和内存计算。容易使用: 使用java,scala,python,r语言可以原创 2016-01-25 11:11:46 · 804 阅读 · 0 评论 -
spark cogroup操作
private static void cogroup() { // 创建SparkConf SparkConf conf = new SparkConf() .setAppName("cogroup") .setMaster("local"); // 创建JavaSpar原创 2016-05-15 17:18:09 · 1892 阅读 · 0 评论 -
spark 的groupby
其实我一直很不明白的是,为什么有groupByKey了还要有groupBy,今天被一位同事问到了怎么对rdd分组的时候,这个疑问算是彻底惹恼我了,我一定要搞清楚这东西怎么用的,嗯,对比一下groupByKey()函数,无参数,pairRdd之际调用即可返回根据分组好的内容,如JavaPairRDD>,但是这个必须是JavaPairRDD类型,也就是说必须是元组的key,value形式。但是Rd原创 2016-06-01 14:21:41 · 14769 阅读 · 0 评论 -
基于HDFS,Spark Stream的实时统计
最近在搞一个小功能,具体要求是:数据到了hdfs,然后统计。需求很简,程序实现也挺简单的,但是目录有点复杂,如base目录下面有/业务/省/yyyyMMdd/h/aa.txt文件如果是按照之前的约定的方式的话,是可以实现的,但是这个文件夹太复杂了,所以按照约定的方式来弄好像难度也挺复杂的,所以这种方法我放弃了。还有一种方案就是把文件目录放到kafka中,然后订阅kafka的内容,取得了之后将参原创 2016-06-27 17:15:30 · 3114 阅读 · 0 评论 -
spark shell 启动出错问题
错误描述:直接启动spark-shell,pia,出错了,之前一直是这样启动的啊,一点错也没有。心情不好的时候真的想一删了之,然后再下一个版本来用。可是想一想如果下载的也是这个样子,那我岂不是浪费时间,又做重复的事情,赔了夫人又折兵,虽然我没有夫人。。。。恩,还是静心看了看错误,忽然想起前段时间使用spark sql 从hive里面取数据来着,但是我的hive-site.xml和驱动包已经考到了对原创 2016-07-10 21:22:33 · 8913 阅读 · 0 评论 -
spark sql 使用hive作为数据源
本来是很简单的一件事,代码也不复杂,如下:代码:public class LocationFromHiveDataSource { @SuppressWarnings("deprecation") public static void main(String[] args) { // 首先还是创建SparkConf SparkCo原创 2016-06-29 15:51:39 · 5301 阅读 · 0 评论 -
乱七八糟的记录
本文纯属记录今天的心情,一点技术的内容也没有,所以。。。。。大家懂的。。。。。 今天测试机调试完了之后,没问题了,三遍确定没问题了之后,parner跟我说放上正式环境试试,其实内心是有点拒绝的,正式环境啊,万一弄挂了岂不是罪恶滔天,但是又有点蠢蠢欲试,所以说干就干。怕死不当程序员,哈哈,放上去之后果然不出所料,挂了,挂了,挂了。然后用万能的(其实是只有一种方法)yarn logs原创 2016-07-07 00:25:40 · 1120 阅读 · 0 评论 -
spark on yarn 的那些坑
在公司6个节点的测试集群运行得好好的,结果也很正常,然后放上60个节点的预生产环境,我勒个擦,搞了我两天,主要是生产环境的那些家伙不配合,一个问题搞得拖啊拖,首先是安全认证问题,截取一两个有意义的吧: 1.没有认证Caused by: java.io.IOException: javax.security.sasl.SaslException: GSS initiate fa原创 2016-06-08 19:44:20 · 92436 阅读 · 10 评论 -
Spark 如何过滤重复的对象
数据如下所示:hello worldhello sparkhello hivehello worldhello sparkhello hive最终需要的只是hello worldhello sparkhello hive这三个,重复的丢掉。有两种实现方法。第一:在程序将文本加载进来形成line R原创 2016-07-27 15:24:25 · 16156 阅读 · 0 评论 -
spark 输出结果压缩(gz)
如果不想往下看,可以直接看结果:maxCallRdd.repartition(3).saveAsTextFile(path,GzipCodec.class); 恩,没错。就只这么一行简单的代码实现了gz压缩,但是为什么网上一直没找到呢,这个我不太清楚, 可能是他们没碰到吧。 最近项目的需求,其实很简单,就是将输出结果以.gz的格式压缩,每个压缩包的大小不能超过100M,而且压缩包的名原创 2016-07-07 00:42:42 · 11194 阅读 · 2 评论 -
spark 数据倾斜问题
先上两张大图压压惊: Driver拒绝提交任务:16/11/07 10:31:50 INFO OutputCommitCoordinator: Task was denied committing, stage: 5, partition: 887, attempt: 116/11/07 10:33:11 INFO TaskSetManager: Finis原创 2016-11-09 14:57:23 · 6543 阅读 · 0 评论 -
RHEL6解决无法使用YUM源问题
RHEL6解决无法使用YUM源问题RHEL的YUM源需要注册用户才能更新使用,由于CentOS和RHEL基本没有区别,并且CentOS已经被REHL收购。所以将RHEL的YUM源替换为CentOS即可。问题如下:[root@bogon ~]# yum repolistLoaded plugins: product-id, refresh-packagekit, security,原创 2016-11-09 18:26:05 · 17426 阅读 · 5 评论 -
spark saveAsTextFile保存到文件
spark的saveAsTextFile方法只能指定文件夹,但是保存到本地的话,会报空指针错误。代码如下:public static void mySaveAsFile(){ SparkConf conf=new SparkConf() .setAppName("mySaveAsFile") .setMaster("local");原创 2016-05-03 23:26:45 · 42386 阅读 · 2 评论 -
spark join操作
// 使用join算子关联两个RDD // join以后,还是会根据key进行join,并返回JavaPairRDD // 但是JavaPairRDD的第一个泛型类型,之前两个JavaPairRDD的key的类型,因为是通过key进行join的 // 第二个泛型类型,是Tuple2的类型,Tuple2的两个泛型分别为原始RDD的value的类型原创 2016-05-15 17:13:10 · 2398 阅读 · 0 评论 -
spark sortByKey
// sortByKey其实就是根据key进行排序,可以手动指定升序,或者降序 // 返回的,还是JavaPairRDD,其中的元素内容,都是和原始的RDD一模一样的 // 但是就是RDD中的元素的顺序,不同了public static void mySortByKey(){ SparkConf conf = new SparkCo原创 2016-05-15 17:05:42 · 2156 阅读 · 0 评论 -
spark ReduceByKey操作
执行reduceByKey算子 // reduceByKey,接收的参数是Function2类型,它有三个泛型参数,实际上代表了三个值 // 第一个泛型类型和第二个泛型类型,代表了原始RDD中的元素的value的类型 // 因此对每个key进行reduce,都会依次将第一个、第二个value传入,将值再与第三个value传入原创 2016-05-15 16:58:31 · 3452 阅读 · 0 评论 -
spark master 启动出现Could not create the Java Virtual Machine.
[root@hadoop4 sbin]# ./start-all.sh starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-hadoop4.outfailed to launch原创 2016-04-13 15:09:44 · 3034 阅读 · 2 评论 -
spark初试遇到的小问题
spark wordcount程序,在本地运行时没问题的,但是放到集群上运行的时候就出错了,出现的问题如下:16/03/28 19:04:23 ERROR spark.SparkContext: Error initializing SparkContext.java.lang.IllegalArgumentException: System memory 101384192 must原创 2016-03-29 11:03:15 · 2706 阅读 · 0 评论 -
spark sql 调用save方法时的空指针
最近在研究spark sql ,但是遇到一个无力着手的问题,不多说,直接上代码:public static void main(String[] args){ SparkConf conf=new SparkConf() .setMaster("local") .setAppName("MyGenericLoadAndSave原创 2016-04-11 17:25:32 · 3729 阅读 · 3 评论 -
spark 的reduce操作
spark的reduce操作,输入是两个值,输出是一个值,第一第二个值的结果跟第三个值相加,然后前n个数的值和第n个值相加见代码如下: public static void myReduce(){ SparkConf conf=new SparkConf() .setMaster("local") .setAppName("myR原创 2016-05-03 21:12:52 · 8839 阅读 · 0 评论 -
spark collect遍历
spark collect操作的特点是从远程集群是拉取数据到本地,经过网络传输,如果数据量的话,会给网络造成很大的压力,和foreach的却别是,foreach是在远程集群上遍历rdd中的元素,如果是在本地的话,差别不大。建议使用foreach,不要用collect. 直接上代码:@SuppressWarnings("unchecked") public static vo原创 2016-05-03 21:47:58 · 14196 阅读 · 0 评论 -
spark count统计元素个数
太简单了,直接上代码,不解析public static void myCount(){ SparkConf conf=new SparkConf() .setMaster("local") .setAppName("myCount"); JavaSparkContext sc=new JavaSparkContext(原创 2016-05-03 22:57:33 · 9455 阅读 · 0 评论 -
spark take获取前n个元素
take和 collect操作类似,都是从远程集群上获取元素,只是collect操作获取的所有数据,而take操作是获取前n个元素直接上代码:public static void myTake(){ SparkConf conf=new SparkConf() .setMaster("local") .setAppName("myTak原创 2016-05-03 23:05:21 · 7890 阅读 · 0 评论 -
spark countByKey用法详解
统计每个key对应的value个数,需要注意的是rdd类型是pairRdd,即键值对的形式的rdd,详细代码如下:private static void myCountByKey(){ SparkConf conf=new SparkConf() .setMaster("local") .setAppName("myCountByKey")原创 2016-05-15 15:37:58 · 8889 阅读 · 1 评论 -
Spark map 遍历rdd中的每个元素
Map操作主要是遍历rdd中的每个元素,对每个元素进行操作并返回,代码如下:public static void myMap(){ List numbers=Arrays.asList(1,2,3,4,5); SparkConf conf=new SparkConf() .setMaster("local") .s原创 2016-05-15 15:48:43 · 21316 阅读 · 0 评论 -
spark filter过滤rdd元素
调用filter方法,rdd中的每个元素都会传入,然后只需要在call方法中写判断逻辑来判断这个元素是不是你想要的,如果是则返回true,否的话,返回falseprivate static void myFilter(){ List list=Arrays.asList(1,2,3,4,5,6,7,8,9,10); SparkConf conf=new原创 2016-05-15 16:00:35 · 23575 阅读 · 0 评论 -
spark flatmap
flatMap算子,在java中,接收的参数是FlatMapFunction,我们需要自己定义FlatMapFunction的第二个泛型类型,即,代表了返回的新元素的类型 call()方法,返回的类型,不是U,而是Iterable,这里的U也与第二个泛型类型相同 flatMap其实就是,接收原始RDD中的每个元素,并进行各种逻辑的计算和处理,返回可以返回多个元素原创 2016-05-15 16:15:43 · 2600 阅读 · 0 评论 -
spark groupByKey操作
// groupByKey算子,返回的还是JavaPairRDD // 但是,JavaPairRDD的第一个泛型类型不变,第二个泛型类型变成Iterable这种集合类型 // 也就是说,按照了key进行分组,那么每个key可能都会有多个value,此时多个value聚合成了Iterablepublic static void myGroupByKey原创 2016-05-15 16:47:10 · 5837 阅读 · 0 评论 -
scala,spark版本冲突问题
scala版本:2.11.0,spark版本:1.61。官网上说的是这个版本啊:Note: Scala 2.11 users should download the Spark source package and build with Scala 2.11 support.改成最新的版本,ok了。16/03/31 10:53:31 INFO Utils: Successfully sta原创 2016-03-31 12:02:53 · 13002 阅读 · 1 评论