package com.netease.portalUserAnalysis.data;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Set;
public class NewAppConstant_tmp {
private static Logger logger = Logger.getLogger(NewAppConstant_tmp.class);
public static final int NETMONITOR_LENGTH = 13;
public static final String DECRYPT_KEY = "neteasemobiledat";
public static final String HADOOPJOBQUEEN = "mobilestat";
public static final String IOS7MAC = "020000000000"; //ios7的Mac固定值
/**
* 数据库 列名 之前加前缀,用于判断列的类型:目前主要是string 和 int 类型
* @author songzhang
*
*/
public interface DbInfos {
int COLUMNPREFIXLENGTH = 2;
String INTPREFIX = "i_";
String STRINGPREFIX = "s_";
}
//hive查询结果本地目录
public static final String HIVERESULTPATH = "/home/hadoop_mobilestat/workspace/hiveresulttemp/";
//device--channel文件
public static final String DEVICECHANNELLOCALPATH = "/home/hadoop_mobilestat/workspace/DEVICECHANNEL";
public static final String EVENTINFOLOCALPATH = "/home/hadoop_mobilestat/workspace/EVENTINFO";
public enum HiveSqlType {
PUSHCOUNT, SECONDACTIVEUSER, ALLACTIVEUSER, NEWMACUVUAHOUR, LLWEEKACTIVE, USERLEFTDAY, USERLEFTWEEK, USERLEFTMONTH, USERLEFTNEWDAY, USERLEFTNEWWEEK, USERLEFTNEWMONTH, DURATIONTIME, VERSIONCHANGE, UVWEEK, UVNEWWEEK, UVMONTH,UVNEWMONTH,UV, MONTHPV, MONTHPVCHANNEL, HOURPVCOUNT, OSSYSTEM, FAULT, DEVICENEW, ACTIVEUSERTOTAL, ACTIVEUSERTODAY, ACTIVEUSEROTHER, EVENTHOUR, EVENTDAILY, EVENTBATCH,EVENTALLUV,EVENTTAGUV, FIRSTUSERTIME, PATHDAILY, PVTIMES, AVGUSETIME, PV, VERSION, DEVICEMODEL, PROVINCE, RESULOTION, OPERATOR, NETTYPE, EVENTDETAIL, COLUMNPVREALTIMEHOUR,COLUMNPVREALTIMEDAY
}
public static String getHiveResultPath(String dayString, HiveSqlType fileType) {
//确保hiveday是 yyyyMMdd格式
String hiveday = dayString.replaceAll("\\D", "");
hiveday = hiveday.substring(0, 8);
return HIVERESULTPATH + hiveday + "/" + fileType + "/";
}
public static interface HadoopPaths {
String HIVE_MOBILELOG_PATH = "/user/hive/warehouse/mobilelog.db/"; //hive mobilelog的hdfs路径
String RAWLOGDAYPATH = "/user/mobilestat/rawlog/"; //原始日志路径 year/month/day/
String RAWLOGHOURPATH = "/user/mobilestat/rawlog/tmp/"; //原始日志小时路劲 {year}{month}{day}{hour}/
String FORMATLOGDAYPATH = "/user/mobilestat/formatlog/"; //format后日志路径 formatkey/yearmonth/yearmonthday/
String FORMATLOGHOURPATH = "/user/mobilestat/formatlog/tmp/"; //format后小时路径 formatkey/{year}{month}{day}{hour}/
//mac 相关
Path MACNEWPATH = new Path(FORMATLOGDAYPATH + "macdevice/newmac");
Path MACCURRENTPATH = new Path(FORMATLOGDAYPATH + "macdevice/currentdata");
//保存 device-channel对应关系
String UUIDTOCHANNLEPATH = "/user/mobilestat/resource/appidchannel.dat";
String EVENTINFO = "/user/mobilestat/resource/eventinfo.dat";
//IP库路径
String QQWAYFILE = "/user/mobilestat/resource/qqwry_utf8.dat";
}
/**
* 统计协议中各个字段,及其意义
* @author songzhang
*
*/
public static interface OriginalLogKeys {
String JSON_IP_TAG = "ip:";
int JSON_IP_TAG_LENGTH = JSON_IP_TAG.length();
String JSON_MESSAGE_TAG = "message:";
int JSON_MESSAGE_TAG_LENGTH = JSON_MESSAGE_TAG.length();
String JSON_SEPARATOR_TAG = " ";
int JSON_SEPARATOR_LENGTH = JSON_SEPARATOR_TAG.length();
String JSON_EMPTY_TAG = "";
String JSON_MOBILE_SESSION = "s"; //sessionID, 用户打开一次客户端的唯一标示,用来统计每天客户端打开次数
String JSON_DEVICE = "i"; //设备信息 deviceinfo
String JSON_DEVICE_APPID = "id"; //客户端类型 appid
String JSON_DEVICE_DEVICEUUID = "u"; //android客户端的唯一标示
String JSON_DEVICE_SYSTEM_VERSION = "o"; //客户端操作系统版本
String JSON_DEVICE_APP_VERSION = "v"; //应用程序的版本
String JSON_DEVICE_CHANNEL = "mid"; //推广渠道
String JSON_DEVICE_DEVICE_MODEL = "m"; //设备型号
String JSON_DEVICE_RESOLUTION = "r"; //设备分辨率
String JSON_DEVICE_NETTYPE = "nt"; //联网类型
String JSON_DEVICE_OPERATOR = "op"; //运营商
String JSON_DEVICE_MACUX = "ux"; //设备mac地址, ios客户端唯一标识
String JSON_DEVICE_VERDORIDUV = "uv"; //ios客户端唯一标示
String JSON_DEVICE_ADIDUA = "ua"; //用于对接广告推广商
//增加6个属性 20140724
String JSON_DEVICE_LANG ="l"; //language 语言,中文
String JSON_DEVICE_TIMEZONE ="tz "; //time zone 时区
String JSON_DEVICE_COUNTRY ="cn "; // country国家-中国,取设备语言对应国家
String JSON_DEVICE_SDK_V ="sv"; //sdk version SDK版本
String JSON_DEVICE_BUILD ="bd"; //Build号
String JSON_DEVICE_VALID ="act"; //用于验证首次安装激活的加密字段
String JSON_EVENT = "e"; //客户端事件标示
String JSON_EVENT_DURA = "du";//持续时长
String JSON_EVENT_NAME = "n"; //自定义事件名称
String JSON_EVENT_TC = "t";//事件发生次数
String JSON_EVENT_TAG = "g"; //自定义事件标签
String JSON_EVENT_TIME = "ts"; //事件发生时间
String JSON_EVENT_TIME_OLD = "t"; //事件发生时间
String JSON_EVENT_START_TAG = "^"; //自定义事件开始标识
String JSON_EVENT_START_TAG2 = "session_start";
String JSON_EVENT_END_TAG = "$"; //自定义事件结束标示
String JSON_EVENT_END_TAG2 = "session_end";
String JSON_FAULT = "f"; //错误信息
String JSON_FAULT_TIME = "t"; //错误发生时间
String JSON_FAULT_CONTENT = "c"; //错误内容
String JSON_PRIVATE = "ui"; //加密后的敏感信息
String JSON_PRIVATE_PASSPORT = "i"; //通行证账号
String JSON_PRIVATE_SW = "sw";
String JSON_PRIVATE_QQ = "qq";
String JSON_PRIVATE_ID = "bid";//第三方平台绑定id,绑定新浪微博后传输
String JSON_PRIVATE_TOKEN = "btk";// 第三方平台登录token,绑定新浪微博后传输
String JSON_PRIVATE_PUSHTOKEN = "pt"; //用于push的token,或push开关
String JSON_PRIVATE_CITY = "ct"; //本地新闻中选择的城市
//增加6个属性 20140724
String JSON_PRIVATE_LLNG ="llng";//:235.21, //地理位置经度
String JSON_PRIVATE_LLAT ="llat";//:123.32, //地理位置维度
String JSON_PRIVATE_LASL ="lasl";//:23.32, //地理位置海拔(选传
String JSON_PRIVATE_LPRO ="lpro";//:河北, //省(选传)
String JSON_PRIVATE_LCT ="lct";// :衡水, /市(选传)
String JSON_PRIVATE_LDT ="ldt";// :景县XXX街道, //详细地址(
//String JSON_PRIVATE_OPENDOCID = "op"; //打开Push对应的docid
//String JSON_PRIVATE_ACCESSTOKEN = "sw"; //绑定的微博token
}
public static String concat_ws(String... sa)
{
StringBuilder sb_concat_ws = new StringBuilder();
sb_concat_ws.setLength(0);
for (int i = 1; i < sa.length; i++)
{
sb_concat_ws.append(sa[i].replaceAll(sa[0], "") + sa[0]);
}
sb_concat_ws.delete(sb_concat_ws.length() - 1, sb_concat_ws.length());
return sb_concat_ws.toString();
}
/**
* 接口中的所有字段,event合并时需要保存session信息,即不进行合并
* @author songzhang
*
*/
public interface EventDetailNames {
String KEYTAG = "EVENTDETAIL";
String HUATIANEVNET = "REG"; //需要与eventset中的对应
Set<Integer> EVENTSET = new HashSet<Integer>() {
private static final long serialVersionUID = 1L;
{
add(632);
}
};
}
/**
* 按小时获取 路径
* @param keyEnum
* @param dateHour yyyyMMddHH
* @return rawlog-->rawlog/tmp/hourStr other-->log/tmp/hourStr/key
*/
public static String getHourlyPath(FormatOutPutEnum keyEnum, String dateHour) {
if (dateHour.indexOf("-") >= 0) {
dateHour = dateHour.replaceAll("-",
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
用户画像数据预处理和哒哒频道数据MR分析.zip (176个子文件)
.classpath 1KB
portalUserAnalysis.iml 10KB
hive-exec-0.12.0.jar 8.69MB
hive-exec-0.9.0.jar 3.37MB
hive-serde-0.12.0.jar 692KB
hive-serde-0.9.0.jar 508KB
hadoop-lzo-0.4.20.jar 170KB
NewAppConstant_tmp.java 13KB
TaggedUserInfoMergeMR.java 7KB
ActionPerUserWebMR.java 7KB
ActionPerUserWapMR.java 6KB
NeteaseChannel_CS.java 6KB
NeedColumnUtils.java 5KB
WebInfoResultMR.java 5KB
NeedColumnZyLogMR.java 5KB
GetArticleContent.java 5KB
WeblogFilterUtils.java 5KB
MicroblogUserInfoCleaningMR.java 5KB
UrlUtils.java 4KB
MonthColumnCountWebMR.java 4KB
MonthWebInfoResultPercentMR.java 4KB
WebInfoResultPercentMR.java 4KB
SpecialCodeFilter.java 4KB
HttpClientFactory.java 4KB
WeeklyWebInfoResultMR.java 4KB
MonthWebInfoResultMR.java 4KB
CombineWapStatisticInfoMR.java 4KB
CombineWebStatisticInfoMR.java 4KB
GenTiePerUserMR.java 4KB
Segmentor.java 3KB
HtmlTagFilter.java 3KB
ArticleSegmentor.java 3KB
TwoMapWritable.java 3KB
MonthWebInfoRandomResultPercentMR.java 2KB
WebInfoRandomResultPercentMR.java 2KB
WeeklywebInfoRandomResultMR.java 2KB
MonthwebInfoRandomResultMR.java 2KB
StringListWritable.java 2KB
StringUtils.java 2KB
LongListWritable.java 2KB
LongStringWritable.java 2KB
StatisticResultWrapWritable.java 2KB
HadoopUtils.java 2KB
StringStringWritable.java 2KB
DirConstant.java 2KB
ArticleContentAPIHeader.java 2KB
MicroblogUserInfoOriginalHeader.java 1KB
HashMapStringStringWritable.java 1KB
UserGenderLoveMicroblog_CMP.java 1KB
NewsAppUtils.java 1KB
PrefixPathFilter.java 1023B
TextCommonParser.java 913B
LoveUserInfoHeader.java 911B
FilterChain.java 844B
TaggedUserInfoHeader.java 838B
TabReplaceParser.java 696B
MicroblogUserInfoHeader.java 670B
Header.java 668B
Parser.java 211B
ContentCleanFilter.java 159B
.name 18B
filter.properties.online 433B
org.eclipse.jdt.core.prefs 723B
org.eclipse.m2e.core.prefs 86B
org.eclipse.core.resources.prefs 60B
.project 547B
filter.properties 376B
release-note 0B
portalUserAnalysisHeader.sh 2KB
userProfile_Web_Weekly.sh 1KB
userProfile_Main.sh 1KB
userProfile_Wap.sh 800B
build.sh 669B
userProfile_Web.sh 608B
runMRJob.sh 488B
getContentAndSegment.sh 431B
userProfile_Gentie.sh 376B
runCommand.sh 309B
articleContentSegment.sh 306B
getArticleContent.sh 284B
userInfo_microblog.sh 247B
taggedUserInfoMerge.sh 227B
pom.xml 6KB
misc.xml 1KB
compiler.xml 1KB
Maven__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_5_0.xml 694B
Maven__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_5_0.xml 680B
Maven__org_apache_hadoop_hadoop_mapreduce_client_common_2_5_0.xml 673B
Maven__com_github_stephenc_findbugs_findbugs_annotations_1_3_9_1.xml 661B
Maven__org_apache_hadoop_hadoop_mapreduce_client_core_2_5_0.xml 659B
Maven__org_apache_hadoop_hadoop_mapreduce_client_app_2_5_0.xml 652B
Maven__org_apache_hbase_hbase_annotations_0_98_8_hadoop2.xml 641B
Maven__org_apache_hadoop_hadoop_yarn_server_common_2_5_0.xml 638B
Maven__org_apache_lucene_lucene_analyzers_common_4_6_1.xml 624B
Maven__org_apache_hbase_hbase_protocol_0_98_8_hadoop2.xml 620B
Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml 617B
Maven__commons_configuration_commons_configuration_1_6.xml 612B
Maven__com_netease_jurassic_jurassic_common_job_0_2_2.xml 608B
Maven__org_apache_mahout_commons_commons_cli_2_0_mahout.xml 607B
Maven__org_apache_hbase_hbase_client_0_98_8_hadoop2.xml 606B
共 176 条
- 1
- 2
资源评论
博士僧小星
- 粉丝: 1934
- 资源: 5894
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- oracle-10g-32bit.zip
- com.aesq.zb_v1.0.35_danji100.com.apk
- 760996331259605建立门派1.360.apk
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- 下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能 1. Hello World程序 #include
- C语言是一种广泛使用的计算机编程语言,它是许多其他编程语言的基础 以下是一些C语言入门的例子和代码,适合初学者学习和实践
- C语言是一种广泛使用的计算机编程语言,它是许多其他编程语言的基础 以下是一些C语言入门的例子和代码,适合初学者学习和实践
- C语言是一种广泛使用的计算机编程语言,它是许多其他编程语言的基础 以下是一些C语言入门的例子和代码,适合初学者学习和实践
- C语言 入门例子和代码学习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功