0%
1.2k 字 5 分钟

说明

以下内容来自群中出现的问题,大家讨论的结果
Q群:432600958
微信群:加微信w3aboutyun,附上about云铁粉

2018.04.13_01

问题描述

面试资源题目分享

Read more »
251 字 1 分钟

下午喝完一杯饮料的时间,被叙利亚的新闻刷频了。
美国发射了导弹,俄罗斯拦截了部分,剩下的都打在已经疏散了民众的区域内。
据报道,受伤了6个人,无人员死亡,万幸。

想到前几日的看到的叙利亚杜马镇“化物事件”的会议,叙利亚:这些化学物质永远只攻击女人和孩子,它都学会区分武装人员了?! 叙利亚大使压抑着愤怒,在控诉着那些假装道义,却伤天害理,颠倒黑白的不公时,美国等相关国家人员,却傲慢的离场。从叙利亚大使的身上,仿佛看到了近百年前,拒绝在凡尔赛合约上签字的顾维钧先生的身影。世界还是那个世界,只是中国不再是那个中国。

弱国无外交,这是对的,却不应该是正确的。愿世界和平,王道于行。

566 字 2 分钟

DT代码中的坑

连续两周时间都在支持DT以及相关的label的开发
能够明显的发现DT提供的代码质量非常之差。列举出来,前事不忘后事之师。

hard core

在spark的代码中,将master 以及入参全部hard core,入参不必说他,将master 设置之后,我spark submit可是会报错的啊。

不转为String 直接saveAsTextFile

Read more »
3.5k 字 11 分钟

What

基本上所有的互联网公司都有其广告投放平台,这是给广告主投放广告的一个页面。广告主可以通过广告提交页面提交自己的广告需求,后台会给广告主圈定一部分潜在用户,这个就是我们称为Lookalike的模块。
lookalike 不是某一种特定的算法,而是一类方法的统称,这类方法综合运用多种技术,最终达到目的。

How

第一种就是显性的定位,广告主根据用户的标签直接定位
比如说通过年龄、性别、地域这样的标签来直接圈定一部分用户进行投放。这个时候我们的技术支持就是后台的用户画像的挖掘。

第二种做法,通过一个机器学习的模型,来定位广告主的潜在用户
广告主提交一批客户名单,我们称之为种子用户,它作为机器学习的正样本。负样本我们会从非种子用户,或者是说平台会积累历史的一些相似的广告作为负样本,这个问题就转化为一个二分类的模型,正负样本组成学习的样本,训练模型之后,利用模型结构对活跃用户进行打分,最后得到广告主需要的目标人群。

Read more »
2.7k 字 10 分钟

说明

以下内容来自群中出现的问题,大家讨论的结果
Q群:432600958
微信群:加微信w3aboutyun,附上about云铁粉

2018.03.29_01

问题描述

如何成为技术大牛

Read more »
265 字 1 分钟

背景

在Kmeans 预处理之前的数据预处理部分,需要做一次类似percent_rank() 操作。
举个例子,输入一条记录为user_1,key1,value_1
输入多条记录
按照key1 聚合之后,结果为key1,list[value1,value2…..]
将list 排序,并获取count 结果为 key1,count,list
然后计算user1 这条记录的rank = index(value1)/count

问题

1
2
3
4
5
6
7
val ah_freqlist_dic_old = user_ah_freq_dic.map(x=>(x._1._2,Nil:+x._2))
.reduceByKey(_:::_)
.map(x=>(x._1,(x._2.length).toString +: x._2.sorted))
.collectAsMap()
val ah_freqlist_dic = sc.broadcast(ah_freqlist_dic_old)
val user_ah_percent_dic = user_ah_freq_dic
.map(t=>((t._1._1,t._1._2),ah_freqlist_dic.value.getOrElse(t._1._2,Nil).indexOf(t._2)/((ah_freqlist_dic.value.getOrElse(t._1._2,Nil)(0).toInt).toFloat)))

上述代码在实现的时候效率极低。

Read more »
134 字 1 分钟

若在maven 中配置了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}.6</scalaVersion>
<args>
<arg>-target:jvm-1.7</arg>
</args>
</configuration>
</plugin>

无需再在IDEA中配置 scala 的sdk 版本不一致会冲突

注意这一行,最好标注小版本 2.10.6

Read more »
1.6k 字 6 分钟

前言

对方提供的LDA 聚类程序,是基于Spark 2.x 的,但是,我们的生产环境是Spark 1.6。 恩那么问题就来了,怎么让基于Spark 2.x 的代码在Spark 1.6 上跑起来。第一个想法是,只要把SparkSession 改为SparkContext 和 SQLContext 就行了。然后发现自己真的图样图森破。对方非常高端的使用了ml库,当然这不是问题。对方是用python 写的,当然这也不是问题毕竟小学生都要学python了,作为一个程序员不会python 就说不过去了对方的python 版本是2.7,当然这更不是问题。但是当你遇到需要将python 2.7 写的基于Spark 2.x ml 写的代码迁移到spark 1.6 上的时候,就有问题了。
他喵的,老子都要精分了,一直在python 2.7 python 3.0 spark 1.6 spark2.2 版本间切换,在java,scala ,python 语言间切换

改造经过

任务到手,谋定后动,当然先开始分析。

1
2
3
4
spark = SparkSession.builder.master('yarn') \
.appName('marketing_data_lda_clustering') \
.enableHiveSupport() \
.getOrCreate()
Read more »
861 字 3 分钟

算是前言吧

之前断断续续,用Spark MLlib 做了将近两个月的数据挖掘,记录点东西。

数据挖掘是有目的的,Spark只是工具

在数据挖掘操作前,需要明确,通过这些计算,你希望从这一堆数据中获取到什么。不然只是每个算法跑一遍,也只能证明你调用Spark API 的能力合格了。

在最开始的时候,进入了一个误区,以为社区炒的火热的Spark是全知全能的。数据挖掘什么的,Spark就能搞定了。然而,Spark毕竟只是一个工具,使用工具归根结底还是人。最开始,只是想掌握Spark这种技术而已,从而忽视了数据挖掘的目的(当然,这也和团队构成有关,一个产品经理加我一个研发,总觉得和业务相关的事由产品经理去实现就行。。。 图样图森破啊 )

Read more »
1k 字 5 分钟

Spark本地安装

  • Java 安装
  • Spark 安装
  • PySpark 安装

Java安装

这一部分不多赘述,配置好Java 环境变量即可。

Spark 安装

Read more »