zoukankan      html  css  js  c++  java
  • sqoop将hive数据导出到关系型数据库

    以下信息,只要根据自己的数据库的相应信息修改以下,即可,sqoop其实就是很简单的,一般hive数据存储为列式存储,所以要提前把要写到关系型数据库的数据写到一个text后缀的表里,然后才能导出到关系型数据库中。

    还要特别注意写到关系型数据库中数据的格式要一一对应

    #pg库相关信息

    database_connection="jdbc:postgresql://192.168.0.2:8080/db_name"
    database_username="user" 
    database_password="pass" 
    databaseTableName="test2"
    databaseColums="a1,a2,a3"
    

     

    #将数据写到一个临时表中
    hive -v -e " set mapred.job.queue.name=${queueName}; USE hive_db_name; INSERT OVERWRITE TABLE test3 select a1,a2,a3 from test1 where y='2019' and m='11' and d='29'; "; if [[ $? != 0 ]]; then print_log "hive执行失败!" exit 1 fi #hdfs路径 exportHdfsPath="hdfs://hdfs01-shyp-cx/hive_db_name/test3" sqoop export -Dmapred.job.queue.name=$queueName //mr的队列 --connect $database_connection //关系型数据库的连接 --username $database_username //关系型数据库的用户名 --password $database_password //关系型数据的密码 --export-dir $exportHdfsPath //hive表的hdfs路径 --verbose --table $databaseTableName //要写到的表名 --columns $databaseColums //要写过去的字段名 --input-fields-terminated-by '01' //hive表的分割符,注意表一定是行式存储的表才能导出,一般是text后缀的表 --input-lines-terminated-by ' ' //每行的分割符 --input-null-string '\N' //空值处理 --input-null-non-string '\N' //空值处理 if [[ $? != 0 ]]; then print_log "sqoop导出失败!" exit 1 fi

      

  • 相关阅读:
    算法总结7—多维缩放
    算法总结3—神经网络
    算法总结9—优化
    算法总结8—非负矩阵因式分解
    R语言系列—区间估计
    算法总结2—决策树分类器
    算法总结5&6k最近邻与聚类
    统计,逻辑与智能
    算法总结4—支持向量机
    R语言系列—回归分析
  • 原文地址:https://www.cnblogs.com/xinyumuhe/p/11956316.html
Copyright © 2011-2022 走看看