文档章节

关于sqoop hive hadoop elasticsearch,xxl-job 的离线数据基本用法

了不起的盖茨比A
 了不起的盖茨比A
发布于 05/14 15:24
字数 452
阅读 83
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

关于sqoop hive hadoop elasticsearch,xxl-job 的离线数据基本用法

首先我们将 hadoop,elasticsearch安装好,hive的话可以是单机或者多机。

我们用liunx的shell方式来运行离线任务

比方说算数据count

我们编写shell脚本 脚本流程大概是这样的 用sqoop将db数据导入hive 然后运行hive sql 将数据导入es

 

#!/bin/bash

CURR_DATE=`date +%Y%m%d`
CURR_YEAR=`date +%Y`
LAST_DATE=`date -d last-day +%Y%m%d`

mi_PATH_searchkeyword=/data/searchkeyword

sqoop import \
--append \
--driver 'com.microsoft.sqlserver.jdbc.SQLServerDriver' \
--connection-manager 'org.apache.sqoop.manager.SQLServerManager' \
--connect 'jdbc:sqlserver://127.0.0.1:1433;DatabaseName=KeywordLog' \
--username 'admin' \
--password 'Codeinmybrains!2' \
--query "select DayCountID,upper(Keyword1) as Keyword,SearchCount,VisitorCount,BidUserCount from KeywordSearchDayCount where 1=1 and $CONDITIONS " \
--split-by 'DayCountID' \
--target-dir $mi_PATH_searchkeyword \
--fields-terminated-by '\001'

tables=""
tables=$tables"drop table mi_searchkeyword;create table mi_searchkeyword (DayCountID int,keyword string,SearchCount int,VisitorCount int,BidUserCount int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001';"
tables=$tables"load data inpath '$mi_PATH_searchkeyword' into table mi_searchkeyword;"
hive -e "$tables"


tables=""
tables=$tables"drop table mi_searchkeyword_group_temp;
               create table mi_searchkeyword_group_temp(keyword string,searchcount int,visitorcount int,BidUserCount int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001';
               insert into table mi_searchkeyword_group_temp select keyword, sum(searchcount)/5 as searchcount ,sum(visitorcount)/5 as visitorcount,sum(BidUserCount)/5 as BidUserCount from mi_searchkeyword group by keyword;"

tables=$tables"drop table mi_searchkeyword_group;
               create table mi_searchkeyword_group(keyword string,searchcount int,visitorcount int,BidUserCount int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001';
               insert into table mi_searchkeyword_group select * from mi_searchkeyword_group_temp where searchcount > 1;"

hive -e "$tables"

echo "聚合统计完成"

echo "开始导入ES"
hive -e  "drop table es_mi_searchkeyword_group;
               create table es_mi_searchkeyword_group(keyword string,searchcount int,visitorcount int,BidUserCount int)
               STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
               TBLPROPERTIES('es.resource' = 'mi_search_keyword_category/mi_search_keyword_category',
                             'es.write.operation'='index',
                             'es.index.auto.create' = 'true',
                             'es.mapping.id'='id',
                             'es.nodes' = 'Slave1:9200,Slave2:9200,Slave3:9200');
               insert into table es_mi_searchkeyword_group select * from mi_searchkeyword_group;"

echo "导入ES完成"

echo "improt all data ok"

 

脚本已经编写好 然后用XXL-JOB shell 调用 即可  GLUE 可以编辑这个shell

 

 

了不起的盖茨比A
粉丝 6
博文 5
码字总数 1181
作品 0
深圳
后端工程师
私信 提问
加载中
请先登录后再评论。
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
日志分析平台 - Kibana

Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。 环境要求: ruby >= 1.8.7 (probably?) bundler logstash...

匿名
2013/02/13
11.6W
1
Hbase的Windows访问接口库--libhbase4win

libhbase4win是基于Thrift的Hbase的Windows访问接口库,开发工具使用VS2010,Hadoop版本为1.1.0,Hbase版本为0.94.0,thrift版本0.9.0,执行编译需要boost和thrift支持。...

张子良
2013/03/06
764
0

没有更多内容

加载失败,请刷新页面

加载更多

在视图控制器之间传递数据 - Passing Data between View Controllers

问题: I'm new to iOS and Objective-C and the whole MVC paradigm and I'm stuck with the following: 我是iOS和Objective-C以及整个MVC范例的新手,但我坚持以下几点: I have a view th......

fyin1314
18分钟前
6
0
Elasticsearch中mapping值得注意的一些小细节

简介 在Elasticsearch中mapping有很多可以配置的地方,但是使用多了就会发现,一般情况有关mapping最常用、也最实用的就简单的几个需要注意的地方。 下面就简单的介绍一下关于这些mapping中值...

trayvon
21分钟前
0
0
趣味编程-大鱼吃小鱼(5-7岁)

上一节老师教小朋友们编写了摘星星的游戏,今天跟着了老师学一下大鱼吃小鱼这个游戏吧!拿上你们的平板,跟着老师一起来做吧。 防止失联,点个“在看”!多多转发分享是老师录制视频的动力哦...

rainbow0124
今天
1
0
大集合!写作辅助工具

↑公众号关注 “Graph-AI” 专注于 图机器学习 大集合!论文写作辅助工具 这里收集论文写作过程中的辅助工具,比如包括Latex、画图、图表、语法、词语搭配、文献查找\下载\整理、翻译等。 会...

chengsen
08/01
0
0
SSL指纹的自定义功能-VMLogin 中文版防关联指纹浏览器在1.2.6.7 版本更新中加入

VMLogin 中文版指纹浏览器 在本次1.2.6.7 版本更新中加入了SSL指纹的自定义功能。 VMLogin 中文版浏览器:https://www.vmlogin.cc/ 主要可以设置 密码套件 的个数和顺序,这样能可以对抗一些...

VMlogin中文版防关联浏览器
32分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部