批量导入数据到hive表中:假设我有60张主子表如何批量创建导入数据
背景:根据业务需要需要把60张主子表批量入库到hive表。
创建测试数据:
- def createBatchTestFile(): Unit = {
- for (layer <- to ) {
- val sWriter = new PrintWriter(new File("D:\\server_" + layer + ".txt"))
- val nWriter = new PrintWriter(new File("D:\\neighour_" + layer + ".txt"))
- sWriter.write(layer + "," + "server_" + layer)
- nWriter.write(layer + "," + "neighour_" + layer)
- sWriter.close()
- nWriter.close()
- }
- }
上传数据到服务器hdfs:
- [hadoop@vd01 fglib]$ ls
- neighour_0.txt neighour_20.txt neighour_31.txt neighour_42.txt neighour_53.txt server_0.txt server_20.txt server_31.txt server_42.txt server_53.txt
- neighour_10.txt neighour_21.txt neighour_32.txt neighour_43.txt neighour_54.txt server_10.txt server_21.txt server_32.txt server_43.txt server_54.txt
- neighour_11.txt neighour_22.txt neighour_33.txt neighour_44.txt neighour_55.txt server_11.txt server_22.txt server_33.txt server_44.txt server_55.txt
- neighour_12.txt neighour_23.txt neighour_34.txt neighour_45.txt neighour_56.txt server_12.txt server_23.txt server_34.txt server_45.txt server_56.txt
- neighour_13.txt neighour_24.txt neighour_35.txt neighour_46.txt neighour_57.txt server_13.txt server_24.txt server_35.txt server_46.txt server_57.txt
- neighour_14.txt neighour_25.txt neighour_36.txt neighour_47.txt neighour_58.txt server_14.txt server_25.txt server_36.txt server_47.txt server_58.txt
- neighour_15.txt neighour_26.txt neighour_37.txt neighour_48.txt neighour_59.txt server_15.txt server_26.txt server_37.txt server_48.txt server_59.txt
- neighour_16.txt neighour_27.txt neighour_38.txt neighour_49.txt neighour_5.txt server_16.txt server_27.txt server_38.txt server_49.txt server_5.txt
- neighour_17.txt neighour_28.txt neighour_39.txt neighour_4.txt neighour_6.txt server_17.txt server_28.txt server_39.txt server_4.txt server_6.txt
- neighour_18.txt neighour_29.txt neighour_3.txt neighour_50.txt neighour_7.txt server_18.txt server_29.txt server_3.txt server_50.txt server_7.txt
- neighour_19.txt neighour_2.txt neighour_40.txt neighour_51.txt neighour_8.txt server_19.txt server_2.txt server_40.txt server_51.txt server_8.txt
- neighour_1.txt neighour_30.txt neighour_41.txt neighour_52.txt neighour_9.txt server_1.txt server_30.txt server_41.txt server_52.txt server_9.txt
- [hadoop@vd01 fglib]$ hadoop fs -mkdir /user/hive_user/dang/fglib
- // :: INFO hdfs.PeerCache: SocketCache disabled.
- [hadoop@vd01 fglib]$ hadoop fs -copyFromLocal * /user/hive_user/dang/fglib/
- // :: INFO hdfs.PeerCache: SocketCache disabled.
- [hadoop@vd01 fglib]$
- [hadoop@vd01 fglib]$ hadoop fs -ls /user/hive_user/dang/fglib
- // :: INFO hdfs.PeerCache: SocketCache disabled.
- Found items
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_0.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_1.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_10.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_11.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_12.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_13.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_14.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_15.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_16.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_17.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_18.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_19.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_2.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_20.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_21.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_22.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_23.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_24.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_25.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_26.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_27.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_28.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_29.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_3.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_30.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_31.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_32.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_33.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_34.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_35.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_36.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_37.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_38.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_39.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_4.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_40.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_41.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_42.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_43.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_44.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_45.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_46.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_47.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_48.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_49.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_5.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_50.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_51.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_52.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_53.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_54.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_55.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_56.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_57.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_58.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_59.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_6.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_7.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_8.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/neighour_9.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_0.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_1.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_10.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_11.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_12.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_13.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_14.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_15.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_16.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_17.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_18.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_19.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_2.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_20.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_21.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_22.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_23.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_24.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_25.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_26.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_27.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_28.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_29.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_3.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_30.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_31.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_32.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_33.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_34.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_35.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_36.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_37.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_38.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_39.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_4.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_40.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_41.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_42.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_43.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_44.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_45.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_46.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_47.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_48.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_49.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_5.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_50.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_51.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_52.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_53.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_54.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_55.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_56.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_57.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_58.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_59.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_6.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_7.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_8.txt
- -rw-r--r--+ hive_user hadoop -- : /user/hive_user/dang/fglib/server_9.txt
实现批量创建表及批量入库:
- val conf = new SparkConf().setAppName("My_Test")
- //.setMaster("local[1]").setMaster("spark://xx.xx.xx.xx:7077").setJars(List("xxx.jar")).set("spark.executor.memory", "10g")
- val sc = new SparkContext(conf)
- val hiveContext = new HiveContext(sc)
- // use my_hive_db;
- hiveContext.sql("use my_hive_db")
- import hiveContext.implicits._
- hiveContext.setConf("mapred.max.split.size", "")
- hiveContext.setConf("mapred.min.split.size.per.node", "")
- hiveContext.setConf("mapred.min.split.size.per.rack", "")
- hiveContext.setConf("hive.input.format", "org.apache.hadoop.hive.ql.io.CombineHiveInputFormat")
- hiveContext.setConf("hive.merge.mapfiles", "true")
- hiveContext.setConf("hive.merge.mapredfiles", "true")
- hiveContext.setConf("hive.merge.size.per.task", "")
- hiveContext.setConf("hive.merge.smallfiles.avgsize", "")
- hiveContext.setConf("hive.groupby.skewindata", "true")
- // for (layer <- 0 to 59) {
- // hiveContext.sql("create table if not exists bathServer_" + layer + "(id int,name string) row format delimited fields terminated by ',' stored as textfile")
- // hiveContext.sql("create table if not exists bathNeighbour_" + layer + "(id int,name string) row format delimited fields terminated by ',' stored as textfile")
- // hiveContext.sql("load data inpath 'hdfs:/user/userxx/dang/server_" + layer + ".txt' into table bathServer_"+ layer )
- // hiveContext.sql("load data inpath 'hdfs:/user/userxx/dang/neighour_" + layer + ".txt' into table bathNeighbour_"+ layer )
- // }
- sc.parallelize( to ).collect().foreach((layer)=>{
- hiveContext.sql("create table if not exists bathServer_" + layer + "(id int,name string) row format delimited fields terminated by ',' stored as textfile")
- hiveContext.sql("create table if not exists bathNeighbour_" + layer + "(id int,name string) row format delimited fields terminated by ',' stored as textfile")
- hiveContext.sql("load data inpath 'hdfs:/user/userxx/dang/fglib/server_" + layer + ".txt' into table bathServer_"+ layer )
- hiveContext.sql("load data inpath 'hdfs:/user/userxx/dang/fglib/neighour_" + layer + ".txt' into table bathNeighbour_"+ layer )
- })
- sc.stop()
- }
批量导入数据到hive表中:假设我有60张主子表如何批量创建导入数据的更多相关文章
- vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表
vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...
- Oracle中的自连接(self join)-当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接。
http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自 ...
- 将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql、改为会话级别临时表 【我】
将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql 将结果改为创建一个会话级别的临时表: -- 根据下面这两个sql CREATE TABLE revenu ...
- 一个表中的字段值用作另一个表的In查询条件
Question表与Paper表 Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值 如: 'f855eba1-b308-4bd7-a250-c071a0e1bd ...
- 主表a主表b 从表c中有ab两个表中各一个字段a1,b1 从表d中有ab两个表中各一个字段a2,b2
a1和a2在a表中具有唯一性 b1和b2在b表中具有唯一性 现在需要连接c表和d表 需要分两步来做 1.先让c表join表a和表b select c.*,a.a2,b.b2 from c inner ...
- Oracle-更新字段-一张表的字段更新另一张的表的字段
设备表ops_device_info中的终端号terminal_id值是以 'D'开头的字符串,而终端表ops__terminal_info中的终端号terminal_id是8位字符串, 它们之间是通 ...
- 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中
现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...
- mysql一个表中多个字段对应另一个表的id如何查询?
比如有如下2个表 a 和baaID b1ID b2ID b3ID1 1 3 52 2 4 6bbID bCon1 苹果2 香蕉3 国内4 国外5 出口6 进口其中a表中的b1ID,b2ID,b3ID都 ...
- 一个表中多个字段对应另一个表的ID(SQL查询)
A数据表中多个字段对应B数据表的ID, 现在要把B表的其他字段一起查询出来 一.数据表: 1.SPEED_DETECTION_ROAD 它的 START_POINT_ID 和 END_POINT_ID ...
随机推荐
- 标准mysql(x64) Windows版安装过程
mysql x64不提供安装器,不提供安装器,不提供安装器-- 每次查英文文档有点慢,不够简. 5.7.6以后的64位zip包下载后解压是没有data目录的. 进入解压后的bin目录:(我用的powe ...
- Web开发中Listener、Filter、Servlet的初始化及调用
我们在使用Spring+SpringMVC开发项目中,web.xml中一般的配置如下: <?xml version="1.0" encoding="UTF-8&qu ...
- Java集合详解及List源码分析
对于数组我们应该很熟悉,一个数组在内存中总是一块连续的存储空间,数组的创建使用new关键字,数组是引用类型的数据,一旦第一个元素的位置确定,那么后面的元素位置也就确定了,数组有一个最大的局限就是数组一 ...
- 网络通信 --> socket通信
socket通信 socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口.工作原理如下: 具体过程:服务器端先初始化socket,然后与端口绑定(bind),对端口进行监听(list ...
- BigDecimal 转成 double
NUMBER(20,2) 数据库里的字段number ,实体是BigDecimal 将BigDecimal转成double public double getOrderamount() { if ( ...
- Matlab绘图基础——散点生成三角网(TIN)
%例一:二维三角网TIN模型的生成 X=rand(10,2)*5; dt=DelaunayTri(X(:,1),X(:,2)); %生成三角网 triplot(dt);hold on; ...
- iOS App 启动性能优化
1. App启动过程 解析Info.plist 加载相关信息,例如如闪屏 沙箱建立.权限检查 Mach-O加载 如果是胖二进制文件,寻找合适当前CPU类别的部分 加载所有依赖的Mach-O文件(递归调 ...
- 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) { int a,b,i,j=0,t; ...
- CountDownLatch 使用说明
CountDownLatch是一种java.util.concurrent包下一个同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成. CountDownLatch的用法非常简单,下 ...
- oracle导出dmp文件的2种方法
使用exp和expdp导出数据 1.exp导出数据命令 exp gd_base/@192.168.13.211/oanet file=D:\export\gd_base.dmp log=D:\expo ...