hadoop离线数据分析05

2017-11-04  本文已影响23人  葡小萄家的猫

mysql安装

本地安装(略)
在线安装
yum install mysql mysql-server mysql-devel 
完成后,用  /etc/init.d/mysqld start    启动mysql

启动mysql控制台: 
  mysql
mysql>; USE mysql; 
mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; 
mysql>; FLUSH PRIVILEGES; 
 允许远程登录 
mysql -u root -p 
Enter Password: <your new password> 
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'  IDENTIFIED BY '密码' WITH GRANT OPTION; 
完成后就能远程管理mysql了。

   mysql服务名字   service  mysqld start


   GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

卸载mysql

  --查看系统之前是否已安装MySQL
    rpm -qa | grep mysql
    
--有的话,卸载
    rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
    
--离线安装mysql rpm

    rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm
    rpm -ivh MySQL-client-5.5.28-1.linux2.6.x86_64.rpm 
    
--启动mysql 
    service mysql start

--MySQL安全配置向导  mysql_secure_installation
mysql_secure_installation
(注意:删除匿名用户,允许用户远程连接)
登陆mysql
mysql -u root -p

Hive安装和部署

derby 版:(一般不采用)
1、解压 hive 安装包
2、$HIVE_HOME/bin/hive 启动即可使用
3、缺点:多个地方安装 hive 后,每一个 hive 是拥有一套自己的元数据,大家的库、表就不统一;
mysql 版:
1、解压 2、修改配置文件

上传
Snip20171104_25.png
解压至/usr/local/src
配置并编辑vi conf/hive-env.sh
Snip20171104_22.png Snip20171104_26.png

创建vi hive-site.xml

 <configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
    </property>

    <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
    </property>

    <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>username to use against metastore database</description>
    </property>

    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>password to use against metastore database</description>
    </property>
</configuration> 
Snip20171104_24.png Snip20171104_29.png

保存进入bin目录./hive启动hive

Snip20171104_24.png

使用hive

Hive中所有的数据都存储在HDFS中,没有专门的数据存储格式(可支持Text, SequenceFile,ParquetFile,RCFILE 等),SequenceFile 是 hadoop 中的一 种文件格式:文件内容是以序列化的 kv 对象来组织的。
 只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就 可以解析数据。
 Hive 中包含以下数据模型:DB、Table,External Table,Partition,Bucket。 db:在 hdfs 中表现为${hive.metastore.warehouse.dir}目录下一个文件夹 table:在 hdfs 中表现所属 db 目录下一个文件夹
external table:与 table 类似,不过其数据存放位置可以在任意指定路径 partition:在 hdfs 中表现为 table 目录下的子目录
bucket:在 hdfs 中表现为同一个表目录下根据 hash 散列之后的多个文件

HIVE的特点

第一
 一定要创建表的映射
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
Snip20171104_29.png Snip20171104_30.png Snip20171104_31.png Snip20171104_34.png Snip20171104_35.png Snip20171104_36.png

ROW FORMAT DELIMITED
[FIELDS TERMINATED BY char]
[COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char]
[LINES TERMINATED BY char] | SERDE serde_name [WITH SERDEPROPERTIES
(property_name=property_value, property_name=property_value,...)]

ROW FORMAT DELIMITED(指定分隔符)

create table day_table (id int, content string) partitioned by (dt string) row format delimited fields terminated by ',';   ---指定分隔符创建分区表

复杂类型的数据表指定分隔符

create table complex_array(name string,work_locations array<string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS TERMINATED BY ',';

数据如下:
 zhangsan   beijing,shanghai,tianjin,hangzhou
 wangwu   shanghai,chengdu,wuhan,haerbin

create table t_map(id int,name string,hobby map<string,string>)
row format delimited 
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':' ;

数据:
1,zhangsan,唱歌:非常喜欢-跳舞:喜欢-游泳:一般般
2,lisi,打游戏:非常喜欢-篮球:不喜欢

远程连接

Snip20171105_40.png Snip20171105_42.png

分桶表

上一篇下一篇

猜你喜欢

热点阅读