这个练手的项目要改动三个部分:
fullbuild(dump.sh 和store-ajoin-conf.xml)
store service(增加这些字段的搜索、排序、显示功能)
即时更新(除ditu_range外都需要即时更新)
fullbuild工程:首先改动dump.sh,主要是从数据库中dump下所需要字段的值,这里就涉及到shell的编写。我们从数据库中dump下来的数据字段以\0分割,行以\b分割。其次是改动store-ajoin-conf.xml配置文件,具体看:http://guafei.iteye.com/admin/blogs/939331
还有注意几个path,table表的属性path中指定的路径的数据是放在hadoop的hdfs文件系统中的,<join>中的path也是放在hadoop的hdfs文件系统中,而upd中的path属性则是放在服务器的硬盘上,也就放着处理好的xml文件。还有在执行shell脚本的时候,还要注意打通ssh(跟龙浅说)。
下面是几个常用的几个命令:
cat part-m-0* > 2.txt
重定向part-m-0*文件到2.txt :应用场景,当part-m-0开头的数据很多,一个一个看比较麻烦,所以把他们重定向到一个文件查看。
grep "minimum_amount=[0-9]" * 查找数据
./hadoop dfs -get /store/in/store/store3.db.hz2.koubei.net-huangye9-store9* /home/admin/guafei 从hadoop的hdfs文件系统中取数据,并且用到了匹配操作
./hadoop dfs -mkdir /store/in/takeout 在hadoop文件系统中建立目录
./hadoop dfs -ls /store/in/ 在hadoop文件系统查看文件
/home/admin/hadoop/hadoop-0.20.2/bin/hadoop job -list :查看正在运行的job进程的命令
/home/admin/hadoop/hadoop-0.20.2/bin/hadoop job -kill job_201102281935_0036:杀死指定了job进程命令
./dump.sh takeout DEV 执行shell脚本
ssh user@remote.machine 用ssh登录远程服务器命令
exit 退出登录的服务器
ls |wc -l 这个命令是查看某个目录下文件的总数
/ 用vi编辑时查询符号
store service工程:改动的地方有koubei-store-isearch-common工程中的Fields类,这个类中放的都是isearch的key。同时要改动IsearchStoreVO类,设置字段的默认值。接下去就是改动SearchStoreService类,主要是设置一些查询(这个类要作为接口的实现类提供出去)。还要改动common.context.xml配置文件,里面配置的key是isearch的字段,value是
storeVO类中的对应属性。
notify工程:改动的是StoreDBService类和store.context.xml,前者主要是getDBData方法,取db的数据。配置文件中的key是isearch的字段名,value是result里的key,具体见代码
mapper程序的需求是:
把city=4858和chk_user=台湾馆 的数据帅选出来,输出成 id\tname\tuser_id格式的数据
首先要找到数据的来源,city chk_user id name user_id 这些字段在什么地方有,我是从store主表中把数据dump下来,对这批数据作为输入进行处理。写好mapper程序之后,把这个工程打成jar包(用eclipse的export),然后用Linux的shell脚本跑这个程序。
打通ssh解释:
服务器A isearch1.store.hadoop.hz2.koubei.net
服务器B 10.9.24.15
服务器C 10.252.71.130 第一:打通A与B ,A与C之间的SSH 单项打通A访问B与C
第二:B与C都是数据库服务器,我们执行的是dump命令,dump下来的数据放在/tmp/data目录下,而且开通mysql和admin的权限,能对这批数据进行读、写、执行操作
第三:在A和B上面都装上hadoop客户端
public void map(LongWritable key, Text value, Context context)方法传入的参数Text value 都是一行一行的传入。 mapper主要的作用是排序,把key相同的都排在一起,为reducer切割文件做准备。如果一个mapper程序的输入本来就拍好序,并且没有什么业务逻辑,那么就没有必要进行mapper。
public void reduce(Text key, Iterable<Text> texts, Context context) 方法主要处理的相同key的value数据。job.setInputFormatClass(IsearchDbInputFormat.class);这句话是对文件的分割,具体看IsearchDbInputFormat的readline方法(如何切割文件)
分享到:
相关推荐
完美解决distinct中使用多个字段的方法,完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法
Isearch是由美国国家自然科学基金投资,网络信息发掘与检索中心研制开发的一个全文检索引擎,也是最早实现诸如XML文档等基于标记的检索的搜索引擎之一。与一般XML检索引擎的设计相比,Isearch由于结合采用了全文检索...
配置三个节点的Nginx作为负载均衡器,第一个Nginx负责请求分发给后面两个Nginx,最后再把请求发送到不同的Tomcat容器 使用Redis Cluster作为早餐详细页面的第一级缓存 配置使用Ehcache作为页面的第二级缓存,并设置...
配置三个节点的Nginx作为负载均衡器,第一个Nginx负责请求分发给后面两个Nginx,最后再把请求发送到不同的Tomcat容器 使用Redis Cluster作为早餐详细页面的第一级缓存 配置使用Ehcache作为页面的第二级缓存,并设置...
该资源是对一个饭店外卖配送问题的最优路径求解. 通过编写Python脚本, 实现了利用elasticsearch读取大型数据, 然后通过gurobi对模型进行求解, 最后将最优路径通过Folium生成HTML文件展示. 该资源包括模型说明(英文...
arcgis elasticSearch es 矢量数据导入插件 数据建模 mapping indexsetting 字段映射 索引建模支持geoshape、shape,text索引支持keyword/ngram/edgeNgram/ikSmart,快速导入,兼容multipolygon,带洞,多面,使用时...
isearch的文章+可执行源代码。 经本人测试,可在myeclipse中运行。
配置三个节点的Nginx作为负载均衡器,第一个Nginx负责请求分发给后面两个Nginx,最后再把请求发送到不同的Tomcat容器 使用Redis Cluster作为早餐详细页面的第一级缓存 配置使用Ehcache作为页面的第二级缓存,并设置...
1、打开QQ安装目录的Bin文件夹(就是QQFun的IPShow组件所在的目录),然后建立一个“IPlugins”的文件夹(如果已有无需建立),将插件DLL及配置文件等放进去即可。 2、登陆QQ客户端后,打开一个群聊天窗口,先选择一...
请仔细阅读:单击上方右上角的“免费+添加到Chrome浏览器”按钮并安装iSearch标签扩展程序,即表示您同意安装此应用程序,并同意最终用户许可协议和隐私权政策,并同意接收将来的任何更新和升级。该应用程序与我们的...
请仔细阅读:单击上方右上角的“免费+添加到Chrome浏览器”按钮并安装iSearch标签扩展程序,即表示您同意安装此应用程序,并同意最终用户许可协议和隐私权政策,并同意接收将来的任何更新和升级。 该应用程序与我们...
Elasticsearch的source字段详解,带图说明;总结性的文档。
Mybatis的Mapper方式整合elasticsearch的DSL调用,之前的AOP进行了改进,使用cglib动态代理生成代理类,基于接口和代理生成bean注入的方式进行调用
peersim中ISearch实例,介绍RandomWalker搜索算法的仿真实例
第一个mybatis程序——CRUD,第一个mybatis程序——CRUD,
jar包,官方版本,自测可用
此扩展程序允许您在 isearch 模式下对单词进行制表符补全。 安装 将 isearch-dabbrev.el 放在您的加载路径中的某个位置,并将这些行添加到您的 .emacs 中: (eval-after-load " isearch " '( progn (require 'i...
适用于页面内有一个可上拉刷新下拉加载的list的情况 使用 1.拷贝lib文件夹到根目录 2.拷贝utils中的lvUtil和netUtil到你的utils文件夹 3.根据你的网络请求的字段特点修改netUtil和app.js中的相应字段. 4.页面的js...
jar包,官方版本,自测可用
用来实现 mongodb 和 elasticsearch 数据同步和增量更新的小程序