大数据技术暑期实习七___互联网营销精准决策(加载数据源)

1. 进入Hadoop环境(在Hadoop安装目录下运行命令、若配置好ssh则可以直接运行启动命令)

2. 启动hive进程(按照网上或林子雨的配置教程来就可以,不再赘述) 

  进入到shell

3.加载数据到hive数据库(在项目实操中不建议查询语句为select *,而应根据列名查询,若只是查看表结构及数据效果,建议加limit,不然要机子要崩~~沙卡拉卡)

hive> show tables;    ##查看表
hive> desc formatted hive_table;    ##描述表信息 desc hive_table
hive> alter table 表名 rename to 新名;    ##更改表名
hive> alter table 表名 add columns (列名  类型);    ##增加列
hive> alter table 表名 change id test_id int;    ##修改列名id为test_id
hive> alter table 表名  change   test_id id  double after age;    ## test_id改名为id并放到age后面
hive> alter  table 表名  replace columns (cc  int,bb string,id int);  ##替换列(修改和替换全表的列)
hive> truncate table  stu_info; ##清除数据 truncate 只清除表的数据
hive> drop table  stu_test;  ##删除表以及表的元数据信息
hive> drop database hive_drop;  #删除数据库
hive> drop database hive_test CASCADE;  ##删除有表的数据库
hive> dese function when;  ##查看函数用法
hive> dese function extended case;  ##查看函数的详细用法

hive数据库基本操作

1.
action表
use kettle;
create table action1 (
user_id string ,
goods_id string,
user_action int,
deal_month string,
deal_day string )
row format delimited fields terminated by ‘,‘  ;    //通过逗号分隔

加载本地数据
load data local inpath ‘ 路径 ‘ into table action1;

合并deal_month  deal_day为deal_time,通过“-”拼接,保存到新表
create table action as select user_id ,goods_id ,user_action ,concat(deal_month ,‘-‘,deal_day ) as deal_time from action1;

查看新表结构
desc action;

查看数据
select * from 表名 limit 100;

导出表数据到本地文件
insert overwrite local directory ‘ 本地路径 ‘ row format delimited fields terminated by ‘,‘ select * from 表名; //路径的引号不要留空格,路径下导出的文件只能存本次导出的文件,下次导出时文件会被覆写

2.
sail_info表
注意编码,scv转成txt时选择编码结构(一般UTF-8),否则会有乱码

建表
create table sail_info ( goods_id string,goods_name string,goods_property string,store_name string, store_id string,goods_url string,goods_price float,keyword string,sail_count int,good_rate int,brand string,model string,color string,time_to_market string,operate_system string)
row format delimited fields terminated by ‘,‘  ;

删除表中某列为空的一行,重新存储
create table if not exists 表名 as select * from name where length(列名)>1;

3.
user.info表

创建
create table if not exists default.user_info(userid string,username string,address string,gender string,birthday string) row format delimited fields terminated by ‘\t‘;

将日期转为年龄再转存另一个表
create table if not exists user_info_age as select userid,username,address,gender,round(datediff(‘2019-9-8 15:00:00‘,regexp_replace(concat(birthday,‘15:00:00‘),"\""," "))/365) from user_info limit 50

导出
insert overwrite local directory ‘/home/hadoop/data‘ row format delimited fields terminated by ‘,‘ select * from user_info_age;

年龄区段
select userid,age, case when (age<18) then ‘1‘ when (18<=age<=24) then ‘2‘ when (25<=age<=29) then ‘3‘ else ‘7‘ end as regin from user_info_age;

去掉空行:
create table if not exists name as select * from name where length(lie)>1;

年龄区段转存新表
create table if not exists user_info_regin as select userid,username,address,gender,case when (age<18) then ‘1‘ when (age between 18 and 24) then ‘2‘ when (age between 25 and 29) then ‘3‘ when (age between 30 and 34) then ‘4‘ when (age between 35 and 39) then ‘5‘ when (age between 40 and 49) then ‘6‘ else ‘7‘ end as regin from user_info_age_true;

为年龄划分类别
create table if not exists user_info_regin_alias as select userid,username,address,gender,regin,case when (regin=1) then ‘18岁以下‘ when (regin=2) then ‘18岁到24岁之间‘ when (regin=3) then ‘25岁到29岁之间‘ when(regin=4) then ‘30岁到34岁之间‘ when (regin=5) then ‘35岁到39岁之间‘ when (regin=6) then ‘40岁到49岁之间‘ else ‘50岁以上‘ end as  user_age_regin_alias from  user_info_regin;

删除user_info_regin_alias中的userid字段的“”
create table if not exists user_info as select regexp_replace(userid,"\"",""),username,address,gender,regin,user_age_regin_alias from user_info_regin_alias;

连接user与comment表获得userrank字段
create table if not exists userinfo as select user_info.userid,user_info.username,user_info.address,user_info.gender,user_info.regin,user_info.user_age_regin_alias,comment_ture.userrank from user_info join comment_ture on user_info.userid = comment_ture.userid;

数据源加载

表结构及数据处理结果效果如下:

原文地址:https://www.cnblogs.com/wjwjs/p/11504244.html

时间: 2024-11-01 23:16:35

大数据技术暑期实习七___互联网营销精准决策(加载数据源)的相关文章

大数据技术暑期实习六___互联网营销精准决策(手机数据爬取)

一.解决方案 二.电商数据的爬取和清洗 2.1 Python爬取京东手机销售历史数据 1).环境 python3 环境.第三方包有 scrapy,re Pycharm .NotePad++.SublimeText 等代码编辑工具 2).爬虫步骤 采用 scrapy 爬虫框架编写爬虫脚本,选取核心代码讲解爬取京东手机销售数据的爬取逻辑.具体步骤如下: 1> 获取电商网站目标数据信息 2>根据手机品牌作为搜索关键词 withopen('./mobile_project/data/手机品牌.csv'

互联网营销精准决策项目总结

在今天我已经吧互联网营销精准决策项目的所有数据处理和分析的工作都完成了,包括按照范围分类,给表格打标签,设置权重,添加宽表,价格分类分析,销售情况分类分析等 在这几天的开发过程中,自己学到了很多,包括一些hive的使用方式.hql的语法,jdbc对hive的连接,hive的运行体制等,更重要是根据老师给的需求一步步自己探索,让我对数据分析有了一个新的认知,知道了拿到怎样的数据应该按照怎样的步骤,按照怎么样的范围去划分数据去分类去分析. 下面附上我的具体操作代码,其中有基本的注释,但由于写的过程中

大数据技术:让看病更加靠谱!

在早期,大部分医疗相关数据以纸质形式存在,而非电子数据存储,如正式医疗记录.费用记录.护士和医生书写的病例记录.处方药记录.X光记录.磁共振成像(MRI)记录.CT图像记录等.随着强大的数据存储.计算平台和移动互联网的发展,医疗数据的爆炸式增长和快速的电子数字化成为趋势.上述医疗数据在不同程度上转化为数字.移动互联网.大数据.云计算等领域的技术与医疗领域的跨境整合.新兴的技术和新的服务模式迅速到医疗的各个方面,使人们的医疗方式发生了重大变化.为我国医疗事业带来了新的发展机遇. 大医疗数据应用 大

大数据丨分享16个大数据技术

Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具,因此,想学好大数据,掌握Java基础是必不可少的! 2.Linux命令 对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令. Hadoop** 在

大数据技术扫盲,你必须会的这些点

虽说人生没有白走的路,新的一年来到,会的还是原来的知识,人的身价就摆在那里,无论怎么折腾,也不会拿到更好的offer.所以在年轻还有拼劲的时候多学学知识,寻找自身的不足,查漏补缺非常重要.**今天小编给大家带来的是绝对的干货!以下是我自己这些年爬过的那些坑.在大数据开发这一块来说还算是比较全面的吧!废话不多说,直接上干货! 1.Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序

大数据学习路线图 让你精准掌握大数据技术学习?

大数据指不用随机分析法这样捷径,而采用所有数据进行分析处理的方法.互联网时代每个企业每天都要产生庞大的数据,对数据进行储存,对有效的数据进行挖掘分析并应用需要依赖于大数据开发,大数据开发课程采用真实商业数据源并融合云计算+机器学习,让学员有实力入职一线互联网企业. 今天小编的技术分享详细学习大数据的精准路线图,学好大数据就还得靠专业的工具. 大数据学习QQ群:119599574 阶段一. Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java

大数据学习路线 让你精准掌握大数据技术学习

大数据指不用随机分析法这样捷径,而采用所有数据进行分析处理的方法.互联网时代每个企业每天都要产生庞大的数据,对数据进行储存,对有效的数据进行挖掘分析并应用需要依赖于大数据开发,大数据开发课程采用真实商业数据源并融合云计算+机器学习,让学员有实力入职一线互联网企业. 今天小编的技术分享详细学习大数据的精准路线图,学好大数据就还得靠专业的工具. 阶段一. Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处

10个最热门的大数据技术

大数据已经融入到各行各业,哪些大数据技术是最受欢迎?哪些大数据技术潜力巨大?请听大讲台老师对10个最热门的大数据技术的介绍. 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口.为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人.我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群:868847735 欢迎进阶中和进想深入大数据的小伙伴加入. (一)预测分析 预测分析是一种统计或数据挖掘解决方案,包含可在结构化和非结构化数据中使用以确定未来结果的算法和技术.

基于大数据技术的手机用户画像与征信研究

内容提要:手机用户画像是电信运营商实现“数据驱动业务与运营”的重要举措.首先,介绍了手机用户画像过程中对个人隐私保护的方法,然后分析手机用户画像的数据来源与大数据实现技术,最后,通过数据样本实例分析手机用户画像在个人征信中的应用. 引言 随着计算机网络技术的不断发展,“数据即资源”的大数据时代已经来临.用户画像是电信运营商为了避免管道化风险,实现“数据驱动业务与运营”的重要举措.用户画像与应用大数据技术对客户分类密切相关,是单个客户的众多属性标签的累积:另一方面,在运营商涉足的消费金融领域,对手