----------------------------------------
--read me
--方式1:适用于工具传输
--方式2:适用于手动临时性传输
----------------------------------------
.
.
.
.
.
.
--##########################################################################################################方式1
--read me:方式1适用于从oracle数据库直接用shell工具,将数据传到hive库中
-----------------------------------------------------------STEP1
--首先进入到hadoop 141服务器的如下目录
[fast@hn-hdp-01 jobs]$ /home/fast/sqoop-1.4.6/jobs

-----------------------------------------------------------STEP2
--打开其中.SH,进行参数配置
[fast@hn-hdp-01 jobs]$vim ora2hive.sh
{如下是ora2hive.sh的内容}
#/bin/sh

export PATH=$PATH:/home/fast/sqoop-1.4.6/bin

url=jdbc:oracle:thin:@10.92.190.65:1521/fast --修改1,表在哪个服务器,在此修改为该服务器的IP地址和端口
driver= --默认不写,不做修改
#username=fasthndeve --Oracle数据库用户名(与上面IP是对应的)
#password='F@sthndeve*123'--Oracle数据库密码(与上面IP是对应的)
#username=FASthn4ga
#password='AF@sthn4g*123'
#username=FASTHNCFG
#password='F@sthncfg*123'
username=fastmdt
password='F@stmdt*123'
table=CFG_CELL_POORCOVERAGE_HIVE --Oracle数据库中的名字(表名需要变成大写字母)
COLUMNS=SDATE,PROVINCE,CITY,COUNTY,ENODEB_ID,LCRID,CELL_NAME,LONGITUDE,LATITUDE --oracle数据表的字段(字段名需要变成大写字母)
#table=CFG_GRID10_2 --默认
KEY=LONGITUDE --任一数值型的字段,做key即可
mapper=10 --默认
hive_db=fastdo_lte --默认(工参数据都存放在默认库)
#hive_tb=CFG_SITEINFO_TDLTE_P10 --已#掉,不管
hive_tb=$table --默认
sqoop import --connect $url \ --默认
--username $username \
--password $password \
--columns $COLUMNS \
--table $table \
--hive-import \
--split-by $KEY \
--hive-database $hive_db \
--hive-table $hive_tb \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
#--where "CITY='XINYANG' AND SDATE>=to_date('20180103','YYYYMMDD')" \
#--where "'2018-04-01'>=substr('sdate',1,10)" \
-m $mapper \ --默认

-----------------------------------------------------------STEP3
--执行
[fast@hn-hdp-01 jobs]$sh ./ora2hive.sh

-----------------------------------------------------------STEP4
--在hive上检查是否传输成功,检查字段名或者数据条数(与Oracle数据条数做对比)
hive >desc table表;

#alter table CFG_SITEINFO_TDLTE rename to CFG_SITEINFO_TDLTE_2018xx 修改为几月份的数据
#create table CFG_SITEINFO_TDLTE as select * from test.CFG_SITEINFO_TDLTE

--##########################################################################################################方式2
--read me:方式2适用于手动传输本地数据到hive库
-----------------------------------------------------------第一步:首先在Hive的fastdo_lte库下面建立该表。
--注意:要是建立的表有分区,就加上分区标识,没有分区,--去掉分区标识即可。
drop table TDLTE_MRO_LOCATE_HOUR_20170523;
CREATE TABLE IF NOT EXISTS TDLTE_MRO_LOCATE_HOUR_20170523(
GROUPID STRING,
N1_CELL_ID STRING,
N1_RSRP STRING,
N2_CELL_ID STRING,
N2_RSRP STRING,
N3_CELL_ID STRING,
N3_RSRP STRING,
N4_CELL_ID STRING,
N4_RSRP STRING,
N5_CELL_ID STRING,
N5_RSRP STRING,
N6_CELL_ID STRING,
N6_RSRP STRING,
N7_CELL_ID STRING,
N7_RSRP STRING,
S_CELL_ID STRING,
AOA STRING,
TA STRING,
MROID STRING,
S_RSRP STRING,
MRO_TS STRING,
MRO_MMEUES1APID STRING,
MRO_MMEGROUPID STRING,
MRO_MMECODE STRING,
S_RSRQ STRING,
LTESCSINRUL STRING,
SDATE STRING,
CITY STRING,
obj_timeStamp STRING,
RESERVED1 STRING,
RESERVED2 STRING,
callID STRING,
iMSI STRING,
mro_error STRING,
findncell_v STRING,
sum_v STRING,
N1_PCI STRING,
N1_EARFCN STRING,
N2_PCI STRING,
N2_EARFCN STRING,
N3_PCI STRING,
N3_EARFCN STRING,
N4_PCI STRING,
N4_EARFCN STRING,
N5_PCI STRING,
N5_EARFCN STRING,
N6_PCI STRING,
N6_EARFCN STRING,
N7_PCI STRING,
N7_EARFCN STRING,
SCELL_PCI STRING,
SCELL_EARFCN STRING,
CT_MAXRSRP STRING,
CT_RSRQ STRING,
CT_PCI STRING,
CT_EARFCN STRING,
CM_MAXRSRP STRING,
CM_RSRQ STRING,
CM_PCI STRING,
CM_EARFCN STRING,
CU_MAXRSRP STRING,
CU_RSRQ STRING,
CU_PCI STRING,
CU_EARFCN STRING,
DL_SINR STRING,
sampleX_type STRING,
DL_RATE STRING,
DL_CQI STRING,
reserved3 STRING,
reserved4 STRING,
LONGITUDE STRING,
LATITUDE STRING,
planid STRING,
hight STRING,
err STRING,
confidence_degree STRING
)
PARTITIONED BY (ds STRING,cityid STRING) --分区标识(若需要分许,就加上PARTITIONED BY (ds STRING,cityid STRING);若不需要分区,就删除PARTITIONED BY (ds STRING,cityid STRING))
ROW FORMAT serde
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with SERDEPROPERTIES ("separatorChar"=",","quotechar"="\"");

-----------------------------------------------------------第二步:在141hive环境下运行数据load命令
--工参类数据的hive库都是 fastdo_lte,需要固定分析,就加上partition(ds='20170523',cityid='ZHENGZHOU'),若不需要就删除partition(ds='20170523',cityid='ZHENGZHOU')
hive> use hive库;
hive> load data local inpath '/data02/yyl/TDLTE_MRO_LOCATE_HOUR_20170523/*.csv' into table TDLTE_MRO_LOCATE_HOUR_20170523 partition(ds='20170523',cityid='ZHENGZHOU');

alter table TDLTE_MRO_LOCATE_HOUR_20200202 add partition(cityname="JIYUAN",ds="20190322") location '/do/lte/fast/20190322/';

HIVE数据下载

--step1 将mrxdr_xy这张指纹表下载到141服务器的目录下 Hive环境下操作该命令
>hive
insert overwrite local directory '/data08/yyl/' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select * from test.RPT_CELL_DISTANCE_2;

--step2 删除目录下的.crc文件-
[root@root@hn-hdp-01 ~]# cd /data08/yyl/ --进入该目录下
[root@root@hn-hdp-01 yyl]# rm -f .*.crc --清空该目录下的.crc文件

--step3 合并文件,文件格式一般是6为数值夹扩展数字

[root@root@hn-hdp-01 yyl]#cat ./00* > aaa.csv --首先命名一个临时表名
[root@root@hn-hdp-01 yyl]#iconv -f UTF-8 -t GBK aaa.csv -o RPT_CELL_DISTANCE_2.csv --将aaa.csv
转换编码方式,并修改为真实表名。

--step4 将生成的.csv文件,通过ftp下载到57服务器的相应目录下

hive上传下载数据的更多相关文章

  1. 使用cmd命令行方式登录ftp上传下载数据

    部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于f ...

  2. 详解Amazon S3上传/下载数据

    AWS简单储存服务(Amazon S3)是非常坚牢的存储服务,拥有99.999999999%的耐久性(记住11个9的耐久性). 使用CloudBerry Explorer,从Amazon S3下载数据 ...

  3. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  4. 如何使用Tunnel SDK上传/下载MaxCompute复杂类型数据

    基于Tunnel SDK如何上传复杂类型数据到MaxCompute?首先介绍一下MaxCompute复杂数据类型: 复杂数据类型 MaxCompute采用基于ODPS2.0的SQL引擎,丰富了对复杂数 ...

  5. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  6. Android okHttp网络请求之文件上传下载

    前言: 前面介绍了基于okHttp的get.post基本使用(http://www.cnblogs.com/whoislcj/p/5526431.html),今天来实现一下基于okHttp的文件上传. ...

  7. 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具

    直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...

  8. Javaweb学习笔记——上传下载文件

    一.前言 在Javaweb中,上传下载是经常用到的功能,对于文件上传,浏览器在上传的过程中是以流的过程将文件传给服务器,一般都是使用commons-fileupload这个包实现上传功能,因为comm ...

  9. servlet上传下载(任何格式的都可以)

    jar不能低于此版本,JDK1.6以上,否则户报错 <dependency> <groupId>commons-fileupload</groupId> <a ...

随机推荐

  1. electron+antd详细教程

    第一步: 要做一个electron项目,理论上我们应该从electron-quick-start开始,就是说我们需要如下3个文件: package.json,node工程最基本的要求,类似于Java的 ...

  2. 第三方deepvoice3_pytorch安装使用

    项目地址:https://github.com/r9y9/deepvoice3_pytorch 解决两个问题:一使用外部数据集训练,二加载pre-trained模型做fine-tune 1:安装必要依 ...

  3. Java、中Date的格式初始化以及Calendar的使用

    使用字符串初始化Date String dateString = “2018-02-23”; Date date= new SimpleDateFormat(“yyyy-MM-dd”).parse(d ...

  4. Python全栈开发记录_第四篇(集合、函数等知识点)

    知识点1:深拷贝和浅拷贝 非拷贝(=赋值:数据完全共享,内存地址一样,修改一个另一个也变化) 浅拷贝:数据半共享(复制其数据独立内存存放,但是只拷贝成功第一层)像[[1,2],3,4]如果修改列表中列 ...

  5. 域名动态解析到动态IP

    一般宽带用户的IP都是动态IP,重连之后IP可能会发生变化. 如果想在其他地方连接家里的设备,或者在家中搭建服务器,就会受到影响. 现在提供一种动态解析域名的方式,只要检测到IP的变化,那么就调用阿里 ...

  6. mongo 数据查询

    基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty():将结果格式 ...

  7. LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal 由前序和中序遍历建立二叉树 C++

    Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  8. stm32 HAL库笔记(一)——串口的操作

    昨天分析了普通io口的使用,和初始化代码流程,回顾一下,首先定义一个配置io口功能的结构体,然后开启时钟,再去配置这个结构体里面的各个成员变量,每个成员变量都有很多种选择,可以看各个成员变量 后面的注 ...

  9. DEDECMS 多站用一个站图片

    function replaceurl($newurl) { $newurl=str_replace('src="/uploads/allimg/','src="xxx.com/u ...

  10. mybatis-plus报org.apache.ibatis.binding.BindingException分析【转载】

    这个问题整整纠结了我四个多小时,心好累啊...不废话... 背景:Spring整合Mybatis 报错:org.apache.ibatis.binding.BindingException: Inva ...