下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BDTC2014数据技术小象科20141212@北冥乘、个性 分析–网络(Ad需求方平台(DemandS 基于行为数据的同时关注QPS和快速就意味着效果、意味着收入小比例流量上达不到最优不是严重问题例:Near-linepage避免集中读写形成的单点性能瓶颈增删改查的传统需求实际上不存在个性化系般架 ,见后例:计算系 –业务逻 指不在用户主体需求任务中的产品增删改查的传统需求可以避免例:点击率计算需要的特征可以利用引擎本机内存做redis的少量的决策错误或者超时可以接受多Server的上下线管理和调度by轻量级Web服务器/反向服务Nginx+–将个性化系统的主要其他产品选择Zookeeperby解决分布式应用中的一些数据管理问题器加入等迅速通知到每 创
创EPHEMERAL类型节类搜索的决策过Search文档“”D2=“谷歌地图创始 “”3 (term)倒排链{D1,D2,D3,D4},地图{D1,D2,D3,D4},之父{D1,D3,D4},跳槽{D1,D3},{D1,D2,D3,D4},…Query可能相当长,需要利用相关性检索信息的过来吧条件往往表示成一个表达式而非 开源的全文检索引擎不支持相关性检索其他产品选择Elasticby用ThriftIDL定义通 为访客打上业务相关的通过访客协同数据进行个性化–用户响应,为线上排序提供指报表、Cube、日志的吞吐量很大日志收集的结构较复杂日志的一致性要求与交易系统相比稍低、、Thrift-RPC、tail、sslo、、Thrift-RPC、syslog其他产品选择Scribe、分布式与计算平分布式需分布式计算需求用户与模型特征缓User由Hadoop按日更新,或由Storm准实时上下文属性URL(App)用半的方式准实时更点击率模型参数、特征KV型需一个KV系其他产品选择半上下文系用Redis系统url特征表供实时Redis不预先加载任何内容,对不存在的url,立刻返回空特征,同时触发相应的页面爬虫和特征提取设置Redis关于开源的机器学习开源机器学习工具开源机器学习包流计算 流计算不适合什么场景?实时反计费或投放控制实时受众定向实时点击反馈by 数据流基本在网络和内存进行“StormonYARN”可以与Hadoopstreamingstreaming小规模批处理系统可以在YARN上与Hadoop共享计算资源可以更方便地利用Spark全栈的处理工具– Spark mender@CrazyJvmBDTC2014Part1:Spark编程模型及内核解析Part2:SparkStreamingPart3:Part4:MLlib算法与架构实Part1:SparkWhatWhatisApacheSparkisafastandgeneralengineforlarge-scaledataprocessing.EaseofUseIntegratedwithApacheApacheSparkSQL/ApacheApacheoneonestacktorulethemSpark Ad-hocBatchHadoopHadoopDataSer&DeSerDiskIOSparkSparkDataone-WhySparkMemorybasedcomputationThreadOptimization(eg:delayClusterClusterarnSparkSparkInputInputInputKeyKeyConcept-AlistofAfunctionforcomputingeachAlistofdependenciesonotherRDDsOptionallaPartitionerforkey-valueRDDsOptionallalistofpreferredlocationstocomputeeachsplitonFaultFaultWhatisProgrammingProgramming!StoragevalDISK_ONLY=newStorageLevel(true,false,false,valDISK_ONLY_2=newStorageLevel(true,false,false,false,2)valMEMORY_ONLY=newStorageLevel(false,true,false,valMEMORY_ONLY_2=newStorageLevel(false,true,false,true,2)valMEMORY_ONLY_SER=newStorageLevel(false,true,false,false)
默认:内存非序列valMEMORY_ONLY_SER_2=newStorageLevel(false,true,false,false,2)valMEMORY_AND_DISK=newStorageLevel(true,true,false,true)valMEMORY_AND_DISK_2=newStorageLevel(true,true,false,true,2)valMEMORY_AND_DISK_SER=newStorageLevel(true,true,false,false)valMEMORY_AND_DISK_SER_2=newStorageLevel(true,true,false,false,2)valOFF_HEAP=newStorageLevel(false,false,true,false)Narrow Wide效率效率容错vallines=errors.persist()valhbase_error=errors.filter(_.contains(“HBase”)).countvalmysql_error=errors.filter(_.contains(“MySQL”)).count//……(一系列对error的操作ransormtio&transformation& -packagepackageSourceCode(canbuildseveralHadoopversions)ClusterClusterslavesspark-env.shexportSPARK_WORKER_CORES=16exportexportSPARK_WORKER_MEMORY=26gexportSPARK_MASTER_PORT=8888spark-spark-spark.masterspark://ip:portspark.local.dir/data/tmp_spark_dir/spark.executor.memory20gpression.codecsubmitsubmit./bin/spark-submit--class<mainmaster<master-url>...#other<application-jar>\2、spark-submit3、默认的参数配置文件(spark-有有朋友认为这个顺序不合理:Demo(集群ClusterDriverRDDRDDPartitionPartitiononeoneaskRDD
stageBuildoperator
splitgraphintostages
cluster
stragglingsubmiteachstageas
retryfailedexecutestoreandservebackbacktoPartitions:protecteddefgetPartitions:Dependencies:protecteddefgetDependencies:Seq[Dependency[_]]=depscompute:defcompute(split:Partition,context:TaskContext):Iterator[T]PreferredLoc(optional):protecteddefgetPreferredLocations(split:Partition):Seq[String]=NilPartitioner(optional):@transientvalpartitioner:Option[Partitioner]=Nonepartitions每个HDFSblockdependencies:无compute:每一个preferredlocationsHDFSblockpartitionerpartitions:与父RDD一致dependencies与父RDD一对一compute:计算父RDD的每个分区并过滤preferredlocations无(与父RDD一致)partition:无partitions:每个reduce任务一个分区dependencies:依赖所有父RDDcompute: preferredlocations:无partition:目目标计算每个分区的函结果将taskset传给底层调度器重新提交shuffle输出丢失的Scheduler一个Stage内的窄依赖进行pipeline操1+1+1+1=4①1+1=2;2+1=3;3+1=4ask外shuffle
结Staeshfle为了容错,会把hul输出写在磁盘或者内存任何一个任务可以运行在任何一允许任务使用那些被缓存但是已经被置换出去askhedule出现shuffle输出lost要报告fetchfailed错误
SortSort-basedshuffleMasterMaster&orker
BroadcastBroadcastBT形式的广播变使用场lookup表mapside: 只读,存于每台worker的cache,不随task使用方valbroadcastVarsc.broadcast(Array(1,2,3))注意:Broadcastedbinaryforthetaskusedtodispatchtaskstoexecutorssince用法:valaccum=sc.accumulator(0)sc.parallelize(Array(1234)).foreach(xaccumx)Part2:SparkTCPsocketsAkkaactor陆续增加中transformation-transformation-sortByKey,join,etctransformation-transformation-window,countByWindow,reduceByWindowcountByValueAndWindow,DStream输何时清理何时清理对于window和stateful操作默认持对于来自网络的数据源,每份数据会在内存中存两对于window和stateful操作必须checkpont通Sagtot指定通过trot定隔间间隔必须是slide interval的倍数容容oker一定可以通过重新数据来恢复,绝对不会有数据丢默认会在两个不同节点加载数据到内存,一个节点fail了,假设正在运行inputeceier的节点fail了,可能会丢失一部分数据(wy?没来得及)DriverDriver会定期将元数据写到指定的Driver失败后可以通过元数据重新启动valcontext=StreamingContext.getOrCreate(checkpointDirectory,functionToCreateContextgetOrCreate,必须确保每次重新编译后清空 选择合适的选择合适的batch没有最好的sisi:要来得及消化流进系统的数据可以从Log4j或者StreamingListenerCMS(暂停时间短,但吞吐率不高,并且会引起内存碎片) WindowPart3:Kafka(+ApacheKafkaispublish-subscribemessagingrethoughtasadistributedcommitlogOpensourceby组组Kafkaisapersistent,distributed,replicatedpub/submessagingsystem.Producerssendmessagestoaclusterofbrokers.Thebrokerspersistthemessagestodisk.Consumersthenrequestarangeofmessagesusing(offset,length)styleReceivemessagesfromProducers(push),delivermessagestoConsumers(pull)Responsibleforpersistingthemessages(指定一段时间)RelativelylightweightLog-basedLog-basedMessagesarepersistedtoappend-onlylogfilesbythebroker.Producersareappendingtotheselogfiles(sequentialwrite),andconsumersarereadingarangeofthesefiles(sequentialreads).opiDataisstoredintopics,andtopicsaresplitintopartitions,whicharereplicated.kafka-topics.sh--zookeepercloudx:2181--create--topiccc--partition3--replication-factor2--configautocreate:Partitionsofatopicarereplicated.Onebrokeristhe"leader"ofapartition.Allwritesandreadsmustgototheleader.Replicasexistforfault-tolerance,notscalability.Whenwriting,messagescanbesynchronouslywrittentoNreplicas(depend
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高二信息技术教学设计:图形图像的存储格式与压缩
- 初中八年级上册英语外研版Unit 2听力专项教学设计
- 【知识清单】初中地理中考总复习:西半球的国家与极地地区
- 高中三年级化学酸浸与碱浸高频反应专题复习教学设计
- 八年级地理《地形》教材习题精讲与拓展教学设计
- 高三化学氧化还原反应配平专题教学设计
- 高一劳动技术:锦带花栽培与花期管理综合实践教案
- 初中七年级地理撒哈拉以南非洲导学案教学设计
- 预制构件安装冬季施工工法
- 土壤污染修复专业培训考核大纲
- 2026年上海市助理政工师职称考试(思想政治工作)综合试题及答案
- 2026中国电子烟行业监管政策变化对市场格局影响深度分析
- 电缆老化机理研究-深度研究
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.7-2025)
- 2026年高考地理一轮复习:湘教版必修第二册知识点考点背诵提纲
- 开启科学探索之旅 课件(内嵌视频) 2025-2026学年人教版初中物理八年级上册
- 县四大班子联席会议制度
- 运营中心管理制度模板
- OpenFOAM培训教学课件
- DB53-T 1269-2024 改性磷石膏用于矿山废弃地生态修复回填技术规范
- 古建筑修复项目可行性研究报告
评论
0/150
提交评论