zoukankan      html  css  js  c++  java
  • hive、sqoop、MySQL间的数据传递

    hdfs到MySQL

    csv/txt文件到hdfs

    MySQL到hdfs

     hive与hdfs的映射:

    drop table if exists emp;
    create table emp ( id
    int comment 'ID', emp_name string comment '姓名', job string ) comment '职业' row format delimited -- stored as rcfile location '/user/hive/warehouse/emp';

    stored as 关键词,hive目前支持三种方式:
    1:就是最普通的textfile,数据不做压缩,磁盘开销大,解析开销也大
    2:SquenceFIle,hadoop api提供的一种二进制API方式,其具有使用方便、可分割、可压缩等特点。
    3:rcfile行列存储结合的方式,它会首先将数据进行分块,保证同一个record在一个分块上,避免读一次记录需要读多个块。其次块数据列式存储,便于数据存储和快速的列存取。
    RCFILE由于采用是的列式存储,所以加载时候开销较大,但具有很好的查询响应、较好的压缩比。
    如果建立的表需要加上分区,则语句如下:
    这里partitioned by 表示按什么字段进行分割,通常来说是按时间

    Hadoop指令查看hdfs下的数据

    将本地数据文件导入到hdfs下面:

    比较利用Hadoop指令将数据上传至hdfs路径

    create external table if not exists emp(
    id int comment '用户名',
    name string comment '月份',
    job string comment '访问次数'
    ) comment '用户访问表' 
    row format delimited fields terminated by "	" 
    location "/user/hive/warehouse/test.db";
    -- 方法1. 将文件直接上传至hdfs
    hadoop dfs -put /root/part-m-00000 /user/hive/warehouse/test.db
    -- 方法2. 通过hive 的 load方法将数据传至hdfs
    load data local inpath "/root/part-m-00000" into table test.emp;

    以上两种方法实现的效果相同;注意一点就是 数据间的 间隔符号  “ ”

    方法3. 利用sqoop将数据传至hdfs  <sqoop是MySQL与hdfs之间数据传递工具>

    sqoop import --connect jdbc:mysql://192.168.5.129:3306/hadoop --username root --password 111111 --table emp_demo --fields-terminated-by '	' -m 1 --target-dir /user/hive/warehouse/test.db
     sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password 123456 --table person --append --target-dir /user/hive/warehouse/test.db

    将hdfs数据保存到MySQL

    impala连接

     impala-shell -i IP
    

      

    参考:http://www.cnblogs.com/qingyunzong/p/8747656.html

    sqoop export --connect  "jdbc:mysql://192.168.5.129/fund?useUnicode=true&characterEncoding=utf-8" --username root --password 111111 --table fundmarket --export-dir /user/hive/warehouse/fundmarket/part-m-00000  --fields-terminated-by '	'
  • 相关阅读:
    物联网相关期刊会议
    Java O O第十一天
    mac下安装伪分布hadoop2.6.0和hbase1.0.1.1
    Ubuntu下使用openssl为apache2配置ssl
    ubuntu下安装hadoop
    ubuntu 添加应用到Dash启动器
    Ubuntu12.04中安装Oracle JDK和NetBeans的方法
    Ubuntu12.04中在桌面建立指向网页的链接文件的方法
    Ubuntu12.04中Gvim无法固定到启动器的解决办法
    Ubuntu中apt-get安装或更新软件错误的解决办法
  • 原文地址:https://www.cnblogs.com/iloverain/p/9462011.html
Copyright © 2011-2022 走看看