#!/bin/bash

source ExitCodeCheck.sh
opts=$@
getparam(){
echo $opts|xargs -n1|cut -b 2-|awk -v arg=$1 -F'=' '$1==arg{print $2}'
} IncStart=`getparam inc_start`
IncEnd=`getparam inc_end`
db_connection=`getparam jdbc_str`
db_username=`getparam db_user`
db_password=`getparam db_psw`
dataName=`getparam db_sid`
queueName=`getparam hdp_queue`
hdfshostname=`getparam hdfs_host`
hduser=`getparam hdp_user_name` IncStartYear=${IncStart:0:4}
IncStartMonth=${IncStart:4:2}
IncStartDay=${IncStart:6:2}
IncStartAll=${IncStartYear}"-"${IncStartMonth}"-"${IncStartDay}" 00:00:00.0"
IncEndYear=${IncEnd:0:4}
IncEndMonth=${IncEnd:4:2}
IncEndDay=${IncEnd:6:2}
IncEndAll=${IncEndYear}"-"${IncEndMonth}"-"${IncEndDay}" 00:00:00.0"
IncStartFormat=${IncStartYear}"-"${IncStartMonth}"-"${IncStartDay} job_name=${0}_$$ hive_db_name=sx_bdp_smdb_safe
hive_db_user=hduser1519 #源表
src_table=smdbwsdata.ashareblocktrade
#初始化临时表
idld_table=idld_smdbds_ashareblocktrade
#目标表
hive_table=bas_smdbds_ashareblocktrade
#导出临时目录
target_dir=/apps-data/${hive_db_user}/${hive_db_name}/import/${idld_table}
#支持二次运行
if [[ $target_dir =~ ^/apps-data/${hive_db_user}/${hive_db_name}/import/[a-zA-Z0-9_]+ ]];then
hadoop fs -rm -r $target_dir
fi sqoop import -D mapred.job.queue.name=${queueName} -D mapred.job.name=${job_name} \
--connect ${db_connection} \
--username ${db_username} \
--password ${db_password} \
--query "
select
object_id
,s_info_windcode
,trade_dt
,s_block_price
,s_block_volume
,s_block_amount
,crncy_code
,s_block_buyername
,s_block_sellername
,s_block_frequency
,opdate
,opmode
,created_by
,created_date
,updated_by
,updated_date
,'hduser1519' creator
,sysdate cdate
,'hduser1519' updator
,sysdate udate
from $src_table
where 1=1 and \$CONDITIONS
" \
-m 1 \
--hive-table ${hive_db_name}.${idld_table} \
--hive-drop-import-delims \
--fetch-size 5000 \
--target-dir "${target_dir}" \
--hive-overwrite \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-import; exitCodeCheck $? hive -v -e "
use ${hive_db_name};
set mapred.job.queue.name=${queueName};
set mapred.job.name=${job_name}; insert overwrite TABLE ${hive_db_name}.${hive_table}
select
object_id
,s_info_windcode
,trade_dt
,s_block_price
,s_block_volume
,s_block_amount
,crncy_code
,s_block_buyername
,s_block_sellername
,s_block_frequency
,opdate
,opmode
,created_by
,created_date
,updated_by
,updated_date
,creator
,cdate
,updator
,udate
from ${hive_db_name}.$idld_table
; "
exitCodeCheck $?

sqoop导数的更多相关文章

  1. Sqoop导数据出现的问题

    sqoop导数据卡住在INFO mapreduce.Job: Running job: job_1447835049223_0010 查yarn日志全是: INFO org.apache.hadoop ...

  2. sqoop导数据出现问题

    执行下面命令的时候报错 ./sqoop import \ --connect jdbc:mysql://mini1:3306/userdb \ --username root \ --password ...

  3. Hadoop 2.6.0-cdh5.4.0集群环境搭建和Apache-Hive、Sqoop的安装

    搭建此环境主要用来hadoop的学习,因此我们的操作直接在root用户下,不涉及HA. Software: Hadoop 2.6.0-cdh5.4.0 Apache-hive-2.1.0-bin Sq ...

  4. Sqoop操作集合

    1.在hive中建一个与mysql中一模一样的表 sqoop create-hive-table --connect jdbc:mysql://***.**.***.**:3306/数据库名称 --t ...

  5. (转) Sqoop使用实例讲解

    原博客地址:http://blog.csdn.net/evankaka 摘要:本文主要讲了笔者在使用sqoop过程中的一些实例 一.概述与基本原理 Apache Sqoop(SQL-to-Hadoop ...

  6. sqoop从mysql导数据到hive报错:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    背景 使用sqoop从mysql导数据到hive,从本地服务器是可以访问mysql的(本地服务器是hadoop集群的一个datanode),但是sqoop导数据的时候依然连接不上mysql 报错如下: ...

  7. sqoop数据导出

    1.将oracle的jdbc的jar包copy到sqoop的lib目录下 2. sqoop export --connect jdbc:oracle:thin:@XXXXX:1521:TMDM --u ...

  8. Sqoop:Could not load db driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver

    Sqoop version:1.4.6-cdh Hadoop version:2.6.0-cdh5.8.2 场景:使用Sqoop从MSSqlserver导数据 虽然1.4.6的官网说 Even if ...

  9. sqoop学习

    最近学习了下这个导数据的工具,但是在export命令这里卡住了,暂时排不了错误.先记录学习的这一点吧 sqoop是什么 sqoop(sql-on-hadoop):是用来实现结构型数据(如关系型数据库) ...

随机推荐

  1. 第05章 管理ElasticSearch

    本章内容 如何选择正确的目录实现,使得ElasticSearch能够以高效的方式访问底层I/O系统. 如何配置发现模块来避免潜在的问题. 如何配置网关模块以适应我们的需求. 恢复模块能带来什么,以及如 ...

  2. ubuntu 12.04安装vmtools 问题解决

      vmware安装ubuntu12.04版本的vm tools时 遇到:   Searching for a valid kernel header path... The path "& ...

  3. 编写高质量代码改善C#程序的157个建议——建议139:事件处理器命名采用组合方式

    建议139:事件处理器命名采用组合方式 所谓事件处理器,就是实际被委托执行的那个方法.查看如下代码: public MainWindow() { InitializeComponent(); Butt ...

  4. T4模板调用反射

    <#@ template debug="false" hostspecific="true" language="C#" #> ...

  5. Freemark与spring整合

    SpringMVC环境的搭建在这里就不多说了,我们这节主要是FreeMarker与SpringMVC整合 首先,在springmvc的配置文件普通视图之前,加入freemarker的视图 fre-se ...

  6. java(一)IntelliJ和eclipse环境下的Hello World

    1. IntelliJ环境下的Hello World 1. 启动IntelliJ IDE,选择File->New->Project 选择Java如果没有出现Project SDK,则选择N ...

  7. Centos iptables防火墙设置

    iptables的基本语法格式 iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]说明:表名.链名用于指定iptables命令所操作的表和链,命令选项用于指定 ...

  8. nginx uwsgi flask相关配置

    一.安装Nginx 在 /home/download下下载压缩包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解压缩 tar zxvf ng ...

  9. C#加密解密总览

    C#SHA加密 C#MD5加密 C#RSA加密解密 C#DES加密和解密 C#AES加密和解密

  10. 279. 完全平方数 leetcode JAVA

    题目: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: ...