Hive 股票数据SQL分析[Hive 案例] |
您所在的位置:网站首页 › 爬取股票数据并分析 › Hive 股票数据SQL分析[Hive 案例] |
股票数据
股票数据获取
1. 网址: http://money.163.com/stock/ 2. 输入搜索关键字
3. 资金流向
4. 历史交易数据
5. 下载数据 数据预处理1. 数据格式 2. 删除首行并独立保存,Hive 建表时参考作为列名 3. 处理数据编码,另存为UTF-8避免Hive加载中文乱码 4. 处理后数据格式如下 1. HDFS中新建存储目录[/data已经存在,如不存在先创建data目录] hdfs dfs -mkdir /data/stock 2. 从本地上传[本地存储目录为/app/tvcdata/stock/] hdfs dfs -put /app/tvcdata/stock/ /data 3. 数据确认 hdfs dfs -ls /data/stock 1. 启动HiveServer2 nohup ./hive--service hiveserver2 & 2. 验证服务 ps aux |grep hive http://host106:10002/hiveserver2.jsp 1. 连接到default数据库[default为默认数据库] ./beeline -u jdbc:hive2://localhost:10000/default -nroot -p root 2. 创建数据库 mystock createdatabase mystock; 3. 选中创建的数据库 use mystock; 4. 查看当前选中的数据库 select current_database(); 创建Hive表1. 创建表[这里创建为外部表,使用’ org.apache.hadoop.hive.serde2.OpenCSVSerde’编码解码器] createexternal table if not exists stock(cdate date,code string,namestring,closeprice float,maxprice float,minprice float,openprice float,prepricefloat,updownlimit float,updownrange float,turnoverrate float,volume float,turnover float,totalvalue float, circulationvalue float) comment '股票信息表' row format serde'org.apache.hadoop.hive.serde2.OpenCSVSerde' stored as textfile location '/data/stock/'; 2. 查看表信息 describe stock; 1. 分页 select code,name,closeprice from stock limit 0,5; 2. 条件查询 select closepricefrom stock where code='\'300212' and cdate='2017-10-20'; 3. 排序 selectcode,name,closeprice from stock order bycloseprice desc limit 0,10; 上述查询触发了MR操作
4. 函数 selectmax(closeprice) as maxcloseprice,max(totalvalue) as maxtotalvalue from stock; 5. 聚合 select code,count(1)as totalrecord from stock group by code; 股票查询以日期作为索引列比较合适
1. 为cdate[日期]创建索引 create index index_stock_cdata on table stock(cdate) as'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERREDREBUILD; 2. 查看索引 show index on stock; |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |