spark小结3

1.熟悉Hadoop生态技术,包括Spark,Hive,Hbase,zookeeper等组件的原理,使用,和调优,阅读过相关源码优先

2.熟悉redis分布式缓存,kafka消息组件.

3.大规模分布式系统开发,维护经验,有故障处理能力

 

###########

 

 

spark,flink相关大数据处理技术,分析和挖掘用户画像和行为特征,采用协同过滤,ALS,UCB,DeepFM等先关推荐算法 进行个性化推荐;

基于文本,语意相关性特征(vpcg,rocchio),结合场景化规则和LR,XGBoost,GBDT,DNN等相关算法预测用户点击率,提升搜索准确性;

基于NLP关键字,摘要提取相关算法和技术(TextRank,word2vec),优化SEO,优化文章关键字和主题提取的准确性;

基于NLP的情感分析和文本分类相关技术(TexxtCNN,CNN),提升舆情监控系统中用户负面声音和声音分类预测的准确性,及时采集用户负面舆情并进行可视化;未来还会基于NLP意图识别和知识...

熟悉常用的机器学习分类,聚类的算法原理和特点;

熟悉深度学习相关模型CNN,RNN,LSTM等相关原理,使用场景,能够针对场景进行建模和优化;

具有特征工程优化,embedding,模型参数和性能调优化,智能推荐,用户画像分析,NLP相关经验;

 

####面试问题######

宽窄依赖

redis 排序底层原理

跳表

 

##########

IDEA设置tabs多行显示:

  idea => Settings => Editor => Editor Tabs => Show tabs in single row

##########

解决IDEA cannot resolve symbol flink暗灰色显示

https://blog.csdn.net/u012369535/article/details/96317565

 

 

 

###########

[ERROR] Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile (default) on project NewsFeed: wrap: org.apache.commons.exec.Execute Exception: Process exited with an error: -10000(Exit value: -10000) -> [Help 1]

 

解决方法:https://stackoverflow.com/questions/50252787/scala-maven-plugin-failed-to-execute

 

That is a very old version of the plugin (dating to around 2010), and may not be compatible with recent Java & Scala releases. Incidentally, it has been renamed to the scala-maven-plugin and the latest release is 3.3.2:

  <plugin>
 <groupId>net.alchim31.maven</groupId>
 <artifactId>scala-maven-plugin</artifactId>
 <version>3.3.2</version>
 <!-- etc. -->
</plugin>

Give that a try...

Also, I strongly recommend using SBT over Maven if you're primarily working with Scala (SBT handles combined Java and Scala builds too). It has a steeper learning curve than Maven, but is well worth the effort...

 

 

关于Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.1:compile

https://blog.csdn.net/qq_40746964/article/details/89402248?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param

 

https://stackoverflow.com/questions/28004552/problems-while-compiling-spark-with-maven

#########

 

 

Spark Streaming流式处理

https://www.cnblogs.com/jifengblog/p/9372266.html

 

KafkaUtils.createDirectStream

基于Direct的方式,spark1.3引入,这个方法会创建一个直接从Kafka代理获取消息的输入流,不使用任何接受器,简化并行读取,高性能,一次且仅一次的事务机制

 

KafkaUtils.createDstream

基于receiver的方式,是使用Kafka的高层次Consumer API来实现的

 

对比:

基于receiver的方式,是使用Kafka的高阶API来在ZooKeeper中保存消费过的offset的。这是消费Kafka数据的传统方式。这种方式配合着WAL机制可以保证数据零丢失的高可靠性,但是却无法保证数据被处理一次且仅一次,可能会处理两次。因为Spark和ZooKeeper之间可能是不同步的。

基于direct的方式,使用kafka的简单api,Spark Streaming自己就负责追踪消费的offset,并保存在checkpoint中。Spark自己一定是同步的,因此可以保证数据是消费一次且仅消费一次。

在实际生产环境中大都用Direct方式

 

 

 

 

日志 通过kafka 用户实时画像 存入 redis

日志→用户长期画像 存入redis

新闻→通过kafka 内容去重(分词,simhash)→文本分类(主题,关键词,标签) 存入redis/模型训练

redis → 推荐(热点推荐,长短时推荐列表,召回,排序)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/ShyPeanut/p/13857092.html