美文网首页
hadoop离线数据分析05

hadoop离线数据分析05

作者: 葡小萄家的猫 | 来源:发表于2017-11-04 21:10 被阅读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

    分桶表

    相关文章

      网友评论

          本文标题:hadoop离线数据分析05

          本文链接:https://www.haomeiwen.com/subject/tsaopxtx.html