安装hive 安装与配置

Hive安装与使用指南
 在h1上解压apache-hive-0.13.1-bin.tar.gz
将conf 中配置文件重命名  hive-default.xml.template --> hive-site.xml

1 hive数据仓库 (apache-hive-0.13.1-bin.tar.gz) 
hive:解释器,编译器,优化器等
hive运行时,元数据存储在关系型数据库中.
安装一个关系型数据库(mysql) 并手动建立好名为hive的数据库,字符集设置为:latin1
修改配置文件  hive-site.xml
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://h1:3306/hive?characterEncoding=UTF-8</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
  </property>
进入到 bin 执行 ./hive

创建表
create table t_emp(
id int,
name string,
age int,
dept_name string
)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',';

导入数据
hive> load data local inpath '/home/emp.txt' into table t_emp;
Copying data from file:/home/emp.txt
Copying file: file:/home/emp.txt
Loading data to table default.t_emp
Table default.t_emp stats: [numFiles=1, numRows=0, totalSize=120, rawDataSize=0]
OK
Time taken: 2.791 seconds


如果使用hive> load data local inpath '/home/emp.txt' overwrite into table t_emp;
overwrite 关键字会告诉hive删除表对应目录中已有的所有文件。如果省去这一关键字,hive
就简单的把新的文件加入目录(除非目录下正好有同名的文件,此时将替换掉原有的同名文件)

执行查询
hive> select count(*) from t_emp;

======================================
create table t_person(
id int,
name string,
like array<string>,
tedian map<string,string>
)
row format delimited
fields terminated by ','
collection items terminated by '_'
map keys terminated by ':';

1,zhangsan,sports_books_TV,sex:男_color:red
2,lisi,sports_books_TV,sex:男_color:red

2.HQL脚本有三种方式执行.
 ① hive -e 'hql'
 ② hive -f 'hql.txt'
 ③ hive jdbc 代码执行脚本

启动hive 服务

修改配置文件 hive-site.xml 
<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>h1</value>
  <description>Bind host on which to run the HiveServer2 Thrift interface.
  Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>
</property>

<property>
  <name>hive.server2.long.polling.timeout</name>
  <value>5000</value>
</property>

启动服务
[root@h1 bin]# ./hive --service hiveserver2
[root@h1 ~]# netstat -nalp|grep 10000
tcp        0      0 192.168.0.201:10000         0.0.0.0:*                   LISTEN      3402/java    

使用hive自带 客户端beeline 连接hive
[root@h1 bin]# ./beeline                
Beeline version 0.13.1 by Apache Hive
beeline> !connect jdbc:hive2://h1:10000/default
scan complete in 3ms
Connecting to jdbc:hive2://h1:10000/default
Enter username for jdbc:hive2://h1:10000/default: root
Enter password for jdbc:hive2://h1:10000/default: 
Connected to: Apache Hive (version 0.13.1)
Driver: Hive JDBC (version 0.13.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://h1:10000/default> show tables;
+-----------+
| tab_name  |
+-----------+
| t_emp     |
+-----------+

==============hive统计tomcat访问日志文件========================
CREATE TABLE t_log (
 host STRING,
 identity STRING,
 user STRING,
 time STRING,
 request STRING,
 status STRING,
 size STRING,
 referer STRING,
 agent STRING
 )
 ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
 WITH SERDEPROPERTIES (
 "input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) \\[(.*?) .*?\\] \"([^ ]*) (.*?)\" ([^ ]*) ([^ ]*)")
  STORED AS TEXTFILE;

添加 jar 
hive> add jar /home/hive-0.13.1/lib/hive-contrib-0.13.1.jar;
hive> select status, count(*) s from t_log group by status order by s desc;



3.hive 有两张函数 UDF,UDAF;
①.UDF 操作用于单个数据行,并且产生一个数据行作为输出,大多数函数(例如数学函数和字符串函数)都属于这一类.
②.UDAF:接受多个输入数据行,并且产生一个输出数据行. 如count聚合函数.avg,min,max

自定义UDF函数

package org.lhyf.hive.udf;

import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;

public class Strip extends UDF {

private Text result = new Text();

public Text evaluate(Text str) {
if (str == null) {
return null;
}

//除去字符串前后空白字符
result.set(StringUtils.strip(str.toString()));
return result;
}

public Text evaluate(Text str, String stripChars) {
if (str == null) {
return null;
}
//去除字符串前后 给定的字符
result.set(StringUtils.strip(str.toString(), stripChars));
return result;
}
}

导出jar包并添加到hive路径,创建函数

hive> add jar /home/hive-udf.jar;
hive> create temporary function strip as 'org.lhyf.hive.udf.Strip';

创建表
create table t_test(
bee string,
banana string
)
row format delimited
 fields terminated by ',';
 
导入数据格式为
   #111* ,# %1@ *
!@##222* ,# %2@ *

鉴于方便查看,使用0代替空格显示
000#111*0,#0%1@0*
!@##222*0,#0%2@0*

执行查询
hive> select strip(bee) from t_test;
#111*
!@##222*

hive> select strip(banana,'#') from t_test;
 %1@ *
 %2@ *

使用0代替空格显示后
0%1@0*
0%2@0*
标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之一,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 一、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是一种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为01之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是一种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单一模型的偏差方差,增强整体预测的稳定性准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值