#!/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. top命令查看进程列表

    top命令查看进程列表 top命令是linux下常用的性能分析工具,能实时显示系统中各个进程的资源占用状况.和win的资源管理器类似.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态,如 ...

  2. 桂林理工大学第十届java程序设计初试竞赛试题

    原创 三.程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共36分) (6分)1.以下函数的功能是判断一个正整数是否为质数,若是返回true,否则返回false.其中参数data为要判 ...

  3. Intel GPA果然是神器

    又一次PERF暗黑三...只有GPA帮到了我. Intel GPA是一个用于测试产品性能和质量的工具.使用这个工具可以运行在游戏或3D应用程序中用来看看它们是如何工作的,其优势性的一点是,有了Auto ...

  4. XE5安卓手机要求

    1 ARMv7 的 CPU v6 的肯定不支持.2 黑屏是因为你的手机 CPU 不支持 NEON 特性.或者是 T2 CPU.3 系统版本  2.3.3 到 2.3.9 或者 4.0 以上.4. SD ...

  5. HBase介绍(2)---数据存储结构

    在本文中的HBase术语:基于列:column-oriented行:row列组:column families列:column单元:cell 理解HBase(一个开源的Google的BigTable实 ...

  6. c#进阶之浅析委托和事件

    何为委托 加了delegate关键字,没有方法体{}的方法模版(方法列表);委托是一种类型 public void Write() { //TODO } //加上关键字delegate,去掉方法体{} ...

  7. IdentityServer4与ocelot实现认证与客户端统一入口

    关于IdentityServer4与ocelot博客园里已经有很多介绍我这里就不再重复了. ocelot与IdentityServer4组合认证博客园里也有很多,但大多使用ocelot内置的认证,而且 ...

  8. dataframe 转为list

    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list.

  9. 洛谷P5265 【模板】多项式反三角函数

    题面 传送门 题解 我数学好像学得太差了 据说根据反三角函数求导公式 \[{d\over dx}\arcsin x={1\over \sqrt{1-x^2}}\] \[{d\over dx}\arct ...

  10. [Objective-C语言教程]块(12)

    Objective-C类定义了一个将数据与相关行为相结合的对象. 有时,仅表示单个任务或行为单元而不是方法集合是有意义的. 块是C,Objective-C和C++等编程语言中的高级功能,它允许创建不同 ...