- 博客(99)
- 资源 (30)
- 收藏
- 关注
原创 gemma-7b-it 报错ValueError: Tokenizer class GemmaTokenizer does not exist or is not currently import
github 查找upgrade transformers to the latest one 4.38.1 solved the problem.
2024-03-04 14:03:41
1150
1
原创 gcc编译出现collect2: fatal error: cannot find 'ld'
在看一看是不是安装ld是否可以sudo yum update binutils
2018-03-13 13:32:25
21333
1
原创 Shuffle 中六大令人费解的问题
第一大问题:什么时候进行 Shuffle 的 fetch 操作?Shuffle 是在一边进行 Mapper 端 map 操作的同时,一边进行 Reducer 端的 shuffle 和 reduce 操作吗?错误的观点是:Spark 是一边 Mapper 一边 Shuffle 的,而 Hadoop MapReduce 是先完成 Mapper 然后才进行 Reducer 的 Shuffle。正确的观点
2017-02-28 23:31:13
3251
原创 NBA篮球运动员大数据分析决策支持系统
package com.dt.spark.sparksqlimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.fs.{FileSystem, Path}import org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSess
2017-02-09 22:43:51
7051
原创 spark streaming源码解读
让我们按照源码一步步的解析。请一定一定一定和我们一起跟踪代码。一定要照着做,才能理解。我们先看下StreamingContext创建的时候有哪些成员变量被初始化了。看下 StreamingContext.createNewSparkContext(conf)直接new 了SparkContext,这和我们平常的基于Spark Core编写的程序完全一样。SparkStreami
2017-02-05 14:27:11
785
1
原创 spark 读写oracle常见问题分析
基于Spark SQL读写Oracle 的简单案例分析常见问题1 概述本文主要内容包含Spark SQL读写 Oracle表数据的简单案例,并针对案例中比较常见的几个问题给出解决方法。最后从常见的java.lang.ClassNotFoundException(无法找到驱动类)的异常问题出发,分析相关的几种解决方法,以及各个解决方法之间的异同点。2 案例中比较常见问题及其解
2017-01-23 17:09:12
4059
原创 Spark SQL网站搜索综合案例实战
以京东为例找出搜索平台上用户每天搜索排名5名的产品,The hottest! 用户登录京东网站,在搜索栏搜索的时候,将用户每天搜索排名前5名的商品列出来。 一:生成模拟京东用户搜索的测试数据。l SparkSQLUserlogsHottest.log测试数据文件包括时间、用户id、商品、地点、设备信息10000条数据 二:根据测试数据实现搜索平台上用户每天搜索排
2017-01-23 17:02:29
1279
原创 spark 窗口函数row_number练习以及用spark core实现
常用于对数据进行分组并取每个分组中的TopN数据。示例数据如下:class1 90class2 56class1 87class1 76class2 88class1 95class1 74class2 87class2 67class2 771、直接使用Spark core中的api来实现分组取topN功能: 首先将数据
2017-01-23 16:59:12
4931
原创 hive启动报错问题
Hive启动时报错:如图 原因:我们用的hive里jline-2.12.jar版本与hadoop的版本不一致所致。将hadoop里的jline jar包换成hive里的就可以解决了。 Hive里jline-2.12.jar 所在目录:HIVE_HOME/libHadoop 里jline jar包所在的目录(3个):1、HADOOP_HOME/share/hadoop/
2017-01-23 16:54:40
923
2
原创 为什么说coarseGrainedExecutorBackend要通信的对象driverUrl是driverEndpoint而不是ClientEndpoint
背景:集群启动的时候启动了master和worker用户提交程序时:1. 首先new spark context,其中会new dagScheduler,taskSchedulerImpl和sparkDeploySchedulerBackend,并start taskSchedulerImpl。2. 在taskSchedulerImpl start时,会start schedulerB
2017-01-23 16:52:52
1363
原创 怎样升级spark集群到更新的版本?
怎样升级spark集群到更新的版本?-IMF-李明说明:· 事实上升级spark很简单,因为spark并不是传统意义上‘安装’在你的集群上,你只需要:下载并解压合适的版本,进行一定的配置,并修改SPARK_HOME等环境变量(后两点可选);· 本文以升级spark 1.6.0到1.6.1为例来说明如何升级;· 本文中的spark安装在 VMware虚拟机中的ubuntu里;
2017-01-23 16:49:12
5308
1
原创 spark streaming广告点击系统需求分析与技术架构
广告点击系统实时分析:广告来自于网站或者移动App等,广告需要设定在具体的广告位,当用户点击广告的时候,一般都会通过JavaScript、Ajax或者Socket往后台发送点击的日志数据,在这里我们是要基于Spark Streaming做实时在线统计,那么数据就需要放进消息系统(Kafka)中,我们的Spark Streaming应用程序就会去Kafka中Pull数据过来进行计算和消费,并把计
2017-01-23 14:06:08
717
原创 hive进行input transform解析
通过SerDes的方式对一下数据进行Hive的存储和查询操作: 0^^Hadoop^^America^^5000|8000|12000|level8^^male1^^Spark^^America^^8000|10000|15000|level9^^famale2^^Flink^^America^^7000|8000|13000|level10^^male3^^Hadoop^^A
2017-01-23 09:38:39
535
原创 hue3.11搭建步骤
搭建环境centos6.5 64如果想在ubuntu开发的话,请参考这里面的文档http://gethue.com/how-to-build-hue-on-ubuntu-14-04-trusty/ 所需的安装包 jdk8 hue-3.11.0.tgz 链接:链接:http://pan.baidu.com/s/1czgMey 密码:h1fo 安装以下的安装包
2017-01-23 09:27:17
1696
原创 开发spark使用的pom文件
有朋友反映开发spark 没有需要的文件夹-4.0.0SparkAppsSparkApps 1.0-SNAPSHOT-2.11.82.1.02.8.21.2.149.2.5.v201411122.171.8
2017-01-22 11:16:15
4106
原创 通过DataSet进行电商交互式分析系统中特定时段段访问次数TopN
package com.dt.spark.sparksqlimport org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.sql.types.{DoubleType, StringType, StructField, StructType}impo
2017-01-22 10:47:15
438
原创 spark graphx图计算常用操作实战
package com.test.spark.apps.graphimport org.apache.log4j.{Level, Logger}import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.graphx._import org.apache.spark.rdd.RDD
2017-01-21 12:33:16
1223
原创 hive精通必会掌握技能以及实战
Hive中Join电影店铺系统案例和性能优化、Index和Bucket案例实战*/DROP TABLE users;DROP TABLE ratings;DROP TABLE movies;CREATE TABLE users(UserID BigInt, Gender String, Age Int, Occupation String, Zipcode String) PART
2017-01-21 12:25:53
1563
原创 spark sql下parquet内幕解密
一:Spark SQL下的Parquet意义再思考1, 如果说HDFS是大数据时代分布式文件系统存储的事实标准的话,Parquet则是整个大数据时代文件存储格式的事实标准。2, 速度更快:从使用Spark SQL 操作普通文件CSV和Parquet文件的速度对比上来看,绝大多数情况下使用Parquet会比使用CSV等普通文件速度提升10倍左右(在一些普通文件系统无法再Spark上成功运
2017-01-20 18:16:35
429
原创 spark sql下使用parquet最佳实战
一:Spark SQL下的Parquet使用最佳实践1, 过去整个业界对大数据的分析的技术栈的Pipeline一般分为以下两种方式:a) Data Source->HDFS->MR/Hive/Spark(相当于ETL)->HDFS Parquet->Spark SQL/Impala->Result Service(可以放在DB中,也有可能被通过JDBC/ODBC来作为数据服务使用);b
2017-01-20 18:13:54
525
原创 spark sql on hive配置及其使用
一: spark on hive 配置1. 切换到spar的conf目录下使用vi hive-site.xml创建hive-site.xml. 并填写如下内容 hive.metastore.uris thrift://master:9083 thrift URI for the remote metastore.Used by
2017-01-20 18:10:43
1057
原创 spark sql和DataFrame本质
一:Spark SQL与DataFrame1, Spark SQL之所以是除了Spark Core以外最大的和最受关注的组件,原因是:a) 处理一切存储介质和各种格式的数据(您同时可以方便的扩展Spark SQL的功能来支持更多类型的数据,例如Kudu);b) Spark SQL把数据仓库的计算能力推向了新的高度,不仅是无敌的计算速度(Spark SQL比Shark快了至少一个数量级,
2017-01-20 18:08:33
773
原创 spark性能优化八
一:使用Tungsten功能1, 如果想让您的程序使用Tungsten的功能,可以配置:spark.shuffle.manager=tungsten-sort2, DataFrame中自动开启了Tungsten功能; 二:Tungsten-sort base shuffle writer内幕1, 写数据在内存足够大的情况下是写到Page里面,在Page中有一条条的Recor
2017-01-20 18:05:27
254
原创 spark性能调优七
一:“钨丝计划”产生的本质原因1, Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理性能的渴望,但是有Spark是采用Scala+ Java语言编写的所以运行在了JVM平台,当然JVM是一个绝对伟大的平台,因为JVM让整个离散的主机融为了一体(网络即OS),但是JVM的死穴
2017-01-20 18:02:45
237
原创 spark性能调优六
一:“钨丝计划”产生的本质原因1, Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理性能的渴望,但是有Spark是采用Scala+ Java语言编写的所以运行在了JVM平台,当然JVM是一个绝对伟大的平台,因为JVM让整个离散的主机融为了一体(网络即OS),但是JVM的死穴
2017-01-20 17:59:48
254
原创 spark性能调优五
一:Shuffle性能调优1, 问题:Shuffle output file lost?真正的原因是GC导致的!!!如果GC尤其是Full GC产生通常会导致线程停止工作,这个时候下一个Stage的Task在默认情况下就会尝试重试来获取数据,一般重试3次每次重试的时间为5s,也就是说默认情况下15s内如果还是无法抓到数据的话,就会出现Shuffle output file lost等情
2017-01-20 17:58:36
265
原创 spark性能优化四
一:性能优化之数据本地性1, 数据本地性对分布式系统的性能而言是一件最为重要的事情(之一),程序运行本身包含代码和数据两部分,单机版本一般情况下很少考虑数据本地性的问题(因为数据在本地),但是对于单机版本的程序由于数据本地性有PROCESS_LOCAL和NODE_LOCAL之分,所以我们还是尽量的让数据处于PROCESS_LOCAL;Spark作为分布式系统更加注意数据本地性,在Spark中数
2017-01-20 17:54:01
325
原创 spark性能优化三
一:Spark程序数据结构的优化1, Java的对象:对象头是16个字节(例如指向对象的指针等元数据信息),如果对象中只有一个int的property,则此时会占据20个字节,也就是说对象的元数据占用了大部分的空间,所有在封装数据的时候尽量不要使用对象!例如说使用JSON格式来封装数据;2, Java中基本的数据类型会自动的封箱操作,例如int会自动变成Integer,这回额外增加对象头的
2017-01-20 17:51:45
263
原创 spark性能优化二
一:Task性能优化1, 慢任务的性能优化:可以考虑减少每个Partition处理的数据量,同时建议开启spark.speculation,2, 尽量减少Shuffle,例如我们要尽量减少groupByKey的操作,因为groupByKey会要求通过网络拷贝(Shuffle)所有的数据,优先考虑使用reduceByKey,因为reduceByKey会首先reduce locally;再
2017-01-20 17:49:35
288
原创 spark性能优化一
一:Spark性能优化核心基石1, Spark是采用Master-Slaves的模式进行资源管理和任务执行的管理:a) 资源管理:Master-Workers,在一台机器上可以有多个Workers;b) 任务执行:Driver-Executors,当在一台机器上分配多个 Workers的时候那么默认情况下每个Worker都会为当前运行的应用程序分配一个Executor,但是我们可以修改
2017-01-20 17:39:52
289
原创 spark Broadcast 内幕解密
一:Broadcast彻底解析1, Broadcast就是将数据从一个节点发送到其它的节点上;例如Driver上有一张表,而Executor中的每个并行执行的Task(100万个Task)都要查询这张表,那我们通过Broadcast的方式就只需要往每个Executor把这张表发送一次就行了,Executor中的每个运行的Task查询这张唯一的表,而不是每次执行的时候都从Driver获得这张表!
2017-01-20 17:31:22
268
原创 checkpoint彻底解密
一:Checkpoint到底是什么?1, Spark在生产环境下经常会面临Tranformations的RDD非常多(例如一个Job中包含1万个RDD)或者具体Tranformation产生的RDD本身计算特别复杂和耗时(例如计算时常超过1个小时),此时我们必须考虑对计算结果数据的持久化;2, Spark是擅长多步骤迭代,同时擅长基于Job的复用,这个时候如果能够对曾经计算的过程产生的数据
2017-01-20 15:02:11
318
原创 cacheManager彻底解密
一:CacheManager分析:1, CacheManager管理的缓存,而缓存可以是基于内存的缓存,也可以是基于磁盘的缓存;2, CacheManager需要通过BlockManager来操作数据;3, 当Task运行的时候会调用RDD的compute方法进行计算,而compute方法会调用iterator方法:/** * Internal method to this R
2017-01-20 14:48:47
2319
原创 spark dataframe和dataSet用电影点评数据实战
RDD优点:编译时类型安全 编译时就能检查出类型错误面向对象的编程风格 直接通过类名点的方式来操作数据缺点:序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化.GC的性能开销 频繁的创建和销毁对象, 势必会增加GCDataFrameDataFrame引入了sche
2017-01-20 14:33:27
1135
原创 Blockmanager解密
1, 当Executor实例化的时候会通过BlockManager.initialize来实例化Executor上的BlockManager并且创建BlockManagerSlaveEndpoint这个消息循环体来接受Driver中的BlockManagerMaster发过来的指令,例如删除Block等; env.blockManager.initialize(conf.getAppId)
2017-01-19 17:39:14
287
原创 TaskScheduler内幕天机解密
一:通过Spark-shell运行程序来观察TaskScheduler内幕1,当我们启动Spark-shell本身的时候命令终端反馈回来的主要是ClientEndpoint和SparkDeploySchedulerBackend,这是因为此时还没有任何Job的触发,这是启动Application本身而已,所以主要就是实例化SparkContext并注册当前的应用程序给Master且从集群中获得
2017-01-19 16:40:21
493
原创 hive transform脚本书写问题
问题描述:集群环境发生变化,原来Python版本2.7,在其上写的udf.py(用Python写的udf),如下运行正常:ADD FILE /home/users/…../readlines.py;select transform(shw) using 'python readlines.py' as (shw bigin
2017-01-19 15:48:30
685
原创 打通spark内幕运行内幕机制循环流程
一:TaskScheduler原理解密1, DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资源调度器的可插拔性,导致Spark可以运行的众多的资源调度器模式上,例如Standalone、Yarn、Mesos、Local、EC2、其它自定义的资源调度器;在Standalone的模式下我们聚焦于
2017-01-19 15:10:16
357
原创 stage划分和task最佳位置算法
一:Stage划分算法解密1, Spark Application中可以因为不同的Action触发众多的Job,也就是说一个Application中可以有很多的Job,每个Job是由一个或者多个Stage构成的,后面的Stage依赖于前面的Stage,也就是说只有前面依赖的Stage计算完毕后,后面的Stage才会运行;2, Stage划分的已经就是宽依赖,什么产生宽依赖呢?例如reduc
2017-01-19 14:00:56
399
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人