----------------------------------------
--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. Linux常用命令 笔记

     Linux常用命令  笔记 一.文件处理命令 1. ls命令:显示目录文件                          -a 显示所有文件,包括隐藏文件.(all)               ...

  2. vue富文本编辑器

    基于webpack和vue 一.npm 安装 vue-quill-editor 二.在main.js中引入 import VueQuillEditor from 'vue-quill-editor'/ ...

  3. python标签值标准化到[0-(#class-1)]

    python 处理标签常常需要将一组标签映射到一组数字,数字还要求连续. 比如 ['a', 'b', 'c', 'a', 'a', 'b', 'c'] ==(a->0, b->1, c-& ...

  4. (5/24) 模块化:实现快速CSS文件打包

    写在前面:为了兼容,此处的webpack版本为3.6.0.webpack-dev-server版本为2.9.7.css-loader版本为2.0.0.style-loader版本为0.23.1,若在下 ...

  5. BATCH、事务、CLOB、BLOB

    Batch:需要执行大量的数据时可以使用批处理 注意点: 1.尽量使用Statement,因为如果是PreParedStatement可能会因为数据量太大而存在空间问题,编译器会报错. 2.把自动提交 ...

  6. Springboot admin 发送邮件失败:com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user

    发邮件已经是老生常谈了,今天又遇到了,而且又出了各种问题.我晕哦. 我的配置是: spring.mail.host=smtp..com spring.mail.username=klxxxx spri ...

  7. pyinstall install

    安装 pyinstall 下载地址 http://www.pyinstaller.org/downloads.html 找到支持本机python版本的pyinstall下载解压即可 pyinstall ...

  8. 设计CUBE by kylin

    1.新增或者选择一个已有项目(project)后,将hive数据导入到kylin中,web界面的Model→Data source,导入数据 2.创建数据模型,数据模型是Cube的基础,它主要用于描述 ...

  9. Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY

    线上问题: { "timestamp": "1544510665", "status": 400, "error": & ...

  10. BeautifulSoup模块过滤掉html标签,只拿文本内容(处理XSS攻击)

    from bs4 import BeautifulSoup#kindeditordef kindeditor(request): s = ''' <li><span style=&q ...