<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[haramshen的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/haramshen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; haramshen]]></copyright><item><title><![CDATA[构建Scala的Maven项目]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/53215999</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/53215999</guid><author>haramshen</author><pubDate>Fri, 18 Nov 2016 14:25:25 +0800</pubDate><description><![CDATA[spark的scala项目Maven构建和使用

一、使用

spark-sql使用

spark-sql --master yarn --num-executors 30 --executor-memory 12g

二、建立项目

1.建立Maven项目:吧java文件夹
重命名为scala文件夹

2.修改xxx.xml配置

3.删除./idea下文件 sca]]></description><category></category></item><item><title><![CDATA[Java8 lambda的列子]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/53044631</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/53044631</guid><author>haramshen</author><pubDate>Sat, 05 Nov 2016 12:08:06 +0800</pubDate><description><![CDATA[1.这是Java8的另一个重要特性，它与λ表达式的配合使用乃是Java8的最主要特性。集合类的批处理操作API的目的是实现集合类的“内部迭代”，并期望充分利用现代多核CPU进行并行计算。Java8之前集合类的迭代（Iteration）都是外部的，即客户代码。而内部迭代意味着改由Java类库来进行迭代，而不是客户代码。例如：
for (Object o : list){
    System.ou]]></description><category></category></item><item><title><![CDATA[python 的pandas DataFrame大全]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52787140</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52787140</guid><author>haramshen</author><pubDate>Tue, 11 Oct 2016 13:08:02 +0800</pubDate><description><![CDATA[导言：对python的数据分析包的pandas不可不提，其中数据透视表DataFrame的数据处理能力很是强大；
1.导入pandas
import pandas as pd
DataFrame = pd.DataFrame2.数据读入
data = pd.read_csv(path, sep = '\t', header='infer') 
3.常用命令

df = DataFram]]></description><category></category></item><item><title><![CDATA[java的时间处理]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52701803</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52701803</guid><author>haramshen</author><pubDate>Thu, 29 Sep 2016 14:45:39 +0800</pubDate><description><![CDATA[导言：即上一篇文章继续提下java的时间处理类和函数；
1.java.util包提供了Date类来封装当前的日期和函数；Date类提供了两个构造函数来实例化Date对象；
Date()第二个是构造函数接受一个参数，该参数是从1970年1月1日起的微秒数。
Date（long millisec）
Date对象创建以后，可以调用下面方法：




序号
方法和描述


1
]]></description><category></category></item><item><title><![CDATA[Java 的时间出来类]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52700399</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52700399</guid><author>haramshen</author><pubDate>Thu, 29 Sep 2016 11:17:29 +0800</pubDate><description><![CDATA[导言：在java程序中很多时候需要使用时间处理函数，这里就简单的罗列下时间处理的java类；
一、SimpleDataFormat
public class SimpleDateFormat extends DateFormatSimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和]]></description><category></category></item><item><title><![CDATA[Linux命令]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52683549</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52683549</guid><author>haramshen</author><pubDate>Tue, 27 Sep 2016 18:17:59 +0800</pubDate><description><![CDATA[系统信息 
arch 显示机器的处理器架构(1) 
uname -m 显示机器的处理器架构(2) 
uname -r 显示正在使用的内核版本 
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 
hdparm -i /dev/hda 罗列一个磁盘的架构特性 
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 
cat /proc/cpui]]></description><category></category></item><item><title><![CDATA[MapReduce 详解一]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52671916</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52671916</guid><author>haramshen</author><pubDate>Mon, 26 Sep 2016 17:10:05 +0800</pubDate><description><![CDATA[导言：很多时候数据太大需要并发时候我们要写map reduce 来实现，但mr计算的传入key和value有点疑惑；这里有点让人疑惑为什么要这么写；这是因为与传统的函数不同，一个函数有明确的数据源明确的输入输出。但在mr中除了key、value还有context,这个有点奇妙，这里我们只是定义却没有调用。
一、传统开发
1.传统定义函数
public static class A
{
   ]]></description><category></category></item><item><title><![CDATA[hive的统计函数]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52668586</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52668586</guid><author>haramshen</author><pubDate>Mon, 26 Sep 2016 11:22:46 +0800</pubDate><description><![CDATA[hive函数—-集合统计函数






集合统计函数1. 个数统计函数:
 count


语法:
 count(*), count(expr), count(DISTINCT expr[, expr_.])


返回值:
 int


说明:
 count(*)统计检索出的行的个数，包括NULL值的行；count(expr)返回指定字段的非空值的个数；c]]></description><category></category></item><item><title><![CDATA[Hadoop上编写mr计算]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52661597</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52661597</guid><author>haramshen</author><pubDate>Sun, 25 Sep 2016 13:11:08 +0800</pubDate><description><![CDATA[导言：使用java编写map reduce程序，Map Reduce是包含两个过程：Map过程和Reduce过程。每一个过程都包含键值对作为输入，程序员可以选择键和值的类型。Map和Reduce的数据流是这样的：
Input==>Map==>Map Output==>sort and shuffle==>Reduce==>Final Output
使用Java编写Hadoop Map Redu]]></description><category></category></item><item><title><![CDATA[hive和hadoop的dos操作语句]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52611339</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52611339</guid><author>haramshen</author><pubDate>Wed, 21 Sep 2016 18:20:15 +0800</pubDate><description><![CDATA[#创建表人信息表  person(String name,int age)
 hive> create table person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\' STORED AS TEXTFILE;
 OK
 Time taken: 0.541 second]]></description><category></category></item><item><title><![CDATA[hive的数据存储浅谈]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52606666</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52606666</guid><author>haramshen</author><pubDate>Wed, 21 Sep 2016 12:58:03 +0800</pubDate><description><![CDATA[一、导言：
     Hive是基于Hadoop分布式文件系统，它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式，也没有为数据建立索引，只需要在创建标的时候告诉Hive数据中的列分隔和行分隔符，Hive就可以解析数据。所以往hive里导入数据只是简单的将数据移动到表所在的目录中；Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具，可以用来进]]></description><category></category></item><item><title><![CDATA[使用maven  assembly 对java进行打包]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52598805</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52598805</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 18:40:20 +0800</pubDate><description><![CDATA[导言：我们一般java工程都是通过Maven来管理构建的，要使用的时候就使用了jar形式，而我们知道其中有很多的依赖，而Maven本身的打包成jar是不包含这些依赖的，我们可以在pom.xml中配置maven-assembly-plugin来实现依赖打包；
一、Maven 的maven-assembly-plugin的配置
    
      
        org.apache.mave]]></description><category></category></item><item><title><![CDATA[hadoop的HDFS操作]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52597702</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52597702</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 16:57:46 +0800</pubDate><description><![CDATA[1.进入服务器

ssh -p 2208 haram.shen@x.x.x.x

（一些操作可以参见下python的mapreduce的那个项目）





2.删除hadoop文件

hadoop dfs -rm -r -f /tmp/hx




3.输出固定行：

hadoop dfs -cat /tmp/hxs/out.txt | head -n 10]]></description><category></category></item><item><title><![CDATA[CTR预估模型浅谈]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52597575</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52597575</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 16:48:00 +0800</pubDate><description><![CDATA[导言：一般是从离线数据中学习得到，离线数据是保存在Hive中的，通过机器学习算法将Hive中的数据进行分析，得到一个pCtr模型；

对于在线工程而言，实现一个通过配置把离线模型加载进去的在线部分，的确没什么工作量，几行代码；但，要实现一个真正强的在线部分，都要几周时间完成；




一、离线部分

粗糙版就是python单机就可以

步骤：join、norm、binariz]]></description><category></category></item><item><title><![CDATA[推荐系统总结]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52597559</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52597559</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 16:46:54 +0800</pubDate><description><![CDATA[导言：我们做推荐的初衷是解决长尾效应，让那些对于某些人很适合有不经常展示的菜品（餐厅）得到展示，不能推荐的一直都是用户经常点的，热卖的菜品和餐厅，这样的话会陷入死循环，让用户看到的一直都是热卖的热门菜品或餐厅，给其他的商家没有展示的机会，会不利于平台和推荐系统的运行。




1.数据的类型

1.1）用户行为数据：1）搜索，筛选，收藏，下单，点击，评分 2）负反馈：删除，取消订单，]]></description><category></category></item><item><title><![CDATA[线下模型的数据清洗建模]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52597500</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52597500</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 16:42:11 +0800</pubDate><description><![CDATA[一、清洗流程：



目的：为离线训练准备标注数据，清洗不合法的数据。

数据源我们采用：曝光、点击、下单

1.序列化

曝光、点击、下单从Hive表中读取，采用schema可以直接根据日志名字来读取字段在家或减少的影响；

曝光日志：存储了用户一次行为的详细信息，包括：包括城市、地理位置、筛选条件及一些行为特征；点击日志主要记录了用户点击的POIID、点击时间；下单日志]]></description><category></category></item><item><title><![CDATA[hive 的map reduce的设置]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52597143</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52597143</guid><author>haramshen</author><pubDate>Tue, 20 Sep 2016 16:15:33 +0800</pubDate><description><![CDATA[1.set dos.block.size:查看集群设置的文件大小（该参数不能自定义修改）

   134217728L（128兆的意思）




2.map执行前合并小文件，减少map数

   set mapred.max.split.size=100000000；表示100M

   set mapred.min.split.size.per.node=100000000]]></description><category></category></item><item><title><![CDATA[IDEAL Ultimate 的SVN导入]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52585491</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52585491</guid><author>haramshen</author><pubDate>Mon, 19 Sep 2016 14:25:51 +0800</pubDate><description><![CDATA[一拉取svn项目


方法一：使用ideal自带的Terminal使用svn co
svn://x.x.171.10/svnproject
拉取svn目录

方法二：使用ideal自带的插件SubVersion添加svn路径地址
svn://x.x.171.10/svnproject 自动拉取在某个目录下/User/Desktop/svnproject




二、拉取的]]></description><category></category></item><item><title><![CDATA[scala 学习笔记（八）]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52527211</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52527211</guid><author>haramshen</author><pubDate>Tue, 13 Sep 2016 16:39:23 +0800</pubDate><description><![CDATA[函数和闭包




当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段。为了分割控制流,Scala
提供了所有有经验的程序员都熟悉的方式:把代码分割成函数。 






实际上,Scala
提供了许多Java
中没有的定义函数的方式。除了作为对象成员函数的方法之外,还有内嵌在函数中的函数,函数文本和函数值。本章带你体会所有
Scala 
中的这些]]></description><category></category></item><item><title><![CDATA[scala学习笔记(七)]]></title><link>https://blog.youkuaiyun.com/haramshen/article/details/52526528</link><guid>https://blog.youkuaiyun.com/haramshen/article/details/52526528</guid><author>haramshen</author><pubDate>Tue, 13 Sep 2016 15:45:11 +0800</pubDate><description><![CDATA[内建控制结构
1.嵌套枚举




如果加入多个子句,你就得到了嵌套的“循环”。 






如果愿意的话,你可以使用大括号代替小括号环绕发生器和过滤器。使用大括号的一个好处是你可以省略一些使用小括号必须加的分号。




外层的循环枚举 filesHere,内层的枚举所有以.scala
结尾文件的 fileLines(file)。 



 def]]></description><category></category></item></channel></rss>