精华内容
下载资源
问答
  • 导入数据的方法创建表
    千次阅读
    2019-04-18 15:15:01

    现有表 a,

    接下来我想要创建一个b表并将a表中的数导入b表,

    在mysql中我可以这样做,

    CREATE TABLE IF NOT EXISTES b SELECT * FROM a;

    而在sqllite数据库中适用mysql的语法却不在适用,有了一些微小的差异,

    CREATE TABLE IF NOT EXISTES b AS SELECT * FROM a;

    更多相关内容
  • java创建hive导入本地txt文件数据方法模板

    java创建hive表并导入本地txt文件数据方法模板

    问题背景

    项目需求创建hive表,并把文件数据导入到表中

    方法样例模板

     public void uploadToHive(String sourcePath) throws Exception {
            String tableName = "hivetable";
            //文件路径,取出文件夹,带最后一个反斜杠
            String sourceDir = sourcePath.substring(0, sourcePath.lastIndexOf(File.separator) + 1);
            String localFileName = sourcePath.substring(sourcePath.lastIndexOf(File.separator) + 1);
            //存储第一行的字段名
            String fieldNamePath = sourceDir + "fieldName.txt";
            //第一行为字段名,第二行开始为数据,导入数据不需要导入字段名
            LinuxUtil.executeCmd("head -n 1 " + sourcePath + " > " + fieldNamePath);
            //删除第一行字段名
            LinuxUtil.executeCmd("sed -i '1d' " + sourcePath);
            //上传至hdfs,原本后面导入表数据通过load local本地导入,但由于hive是分布式集群,导致本地找不到文件,所以上传到hdfs进行load导入
            String hdfsDir = hdfsUploadDir + File.separator + (new Random().nextInt(899999) + 100000);
            //创建hdfs临时目录
            LinuxUtil.executeCmd("hadoop fs -mkdir " + hdfsDir);
            //上传文件至hdfs
            LinuxUtil.executeCmd(String.format("hadoop fs -put -f %s %s", sourcePath, hdfsDir));
            //读入第一行字段名作为建表的字段名
            File fieldFile = new File(fieldNamePath);
            BufferedReader readerField = null;
            FileInputStream fileInputStreamField = null;
            Connection connection = null;
            List<String> fieldNames = Lists.newArrayList();
            Statement stmt;
            int retry = 0;
            boolean success = false;
            boolean dataFlag = false;
            try {
                fileInputStreamField = new FileInputStream(fieldFile);
                InputStreamReader inputStreamReader = new InputStreamReader(fileInputStreamField, StandardCharsets.UTF_8);
                readerField = new BufferedReader(inputStreamReader);
                String line;
                while ((line = readerField.readLine()) != null) {
                    if (!Strings.isBlank(line)) {
                        String[] temp = line.split("\t");
                        for (int j = 0; j < temp.length; j++) {
                            fieldNames.add(temp[j]);
                        }
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
                log.error("Error: {}", e.getMessage());
                throw e;
            } finally {
                if (readerField != null) {
                    try {
                        readerField.close();
                        fileInputStreamField.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                        log.error("Error: {}", e.getMessage());
                    }
                }
            }
            //创建表的字段属性
            String firstField = "";
            for (String field : fieldNames) {
                firstField += field + " String,";
            }
            //创建表的HQL
            String createSql = "create table if not exists " + tableName + " (" + firstField.substring(0, firstField.length() - 1) + ") "
                    + "ROW FORMAT DELIMITED fields terminated by '\t'"
                    + " lines terminated by '\n'"
                    + " stored as textfile";
            //导入表的HQL,通过hdfs导入,如果loa local data使用本地导入
            String loadSql = String.format("load data inpath '%s' into table %s", hdfsDir + File.separator + localFileName, tableName);
            try {
                // 连接 hive
                connection = getHiveConn();
                // hive sql statement
                stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
                try {
                    // 执行createSql,不能使用executeQuery
                    stmt.executeUpdate(createSql);
                } catch (SQLException e) {
                    //重试3次
                    while (!success && retry < 3) {
                        retry++;
                        try {
                            stmt.executeUpdate(createSql);
                            //获得列集
                            success = true;
                        } catch (SQLException ex) {
                            success = false;
                        }
                    }
                    if (!success) {
                        throw e;
                    }
                }
                try {
                    // 执行loadSql
                    stmt.executeUpdate(loadSql);
                } catch (SQLException e) {
                    //重试3次
                    while (!dataFlag && retry < 3) {
                        retry++;
                        try {
                            stmt.executeQuery(loadSql);
                            //获得列集
                            dataFlag = true;
                        } catch (SQLException ex) {
                            dataFlag = false;
                        }
                    }
                    if (!dataFlag) {
                        throw e;
                    }
                } finally {
                    //删除临时文件夹
                    LinuxUtil.executeCmd(String.format("hadoop fs -rm -r %s", hdfsDir));
                }
            } catch (Exception e) {
                log.error("Execute hive sql error, sql: {}, error: {}", createSql, e);
                throw e;
            } finally {
                closeHiveConn(connection);
            }   
        }
    

    总结

    • 最近一段时间非常忙,但今天有个可爱的粉丝提醒俺更新博客了,第一次受到了莫大的精神支持,所以今天挤一些时间写一篇,非常感谢这位粉丝,在俺前进的道路上点亮一盏明灯




    作为程序员第 105 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

    Lyric: 我知道坚持要走是你受伤的借口

    展开全文
  • Mac使用DBeaver进行创建表导入数据

    千次阅读 2021-01-20 15:49:26
    Mac使用DBeaver进行创建表导入数据 hello,小伙伴们这节咱们讲一下如何创建表导入数据,这款工具导入数据还是很快速的,话不多说,直接截图表示尊敬: 创建表 下载文档地址:...

    Mac使用DBeaver进行创建表并导入数据

    hello,小伙伴们这节咱们讲一下如何创建表并导入数据,这款工具导入数据还是很快速的,话不多说,直接截图表示尊敬:

    创建表

    在这里插入图片描述
    下载文档地址:https://github.com/mwaskom/seaborn-data(ps:里面是一些数据样例)

    增加列:
    在这里插入图片描述
    可选数据类型、非空标识、自增标识、缺省、额外的、字符集、排序规则、注释等都可以选择性填入:
    在这里插入图片描述
    点击保存
    在这里插入图片描述
    在这里插入图片描述
    点击执行即可:
    双击表查看表信息:截图表示尊敬:
    在这里插入图片描述
    查看数据发现数据暂无,之后小伙伴们去下载csv文件到本地,进行下一步的导入数据。

    导入数据

    在这里插入图片描述
    选择源端和目标端:
    对应好字段:
    在这里插入图片描述
    对应好字段信息:
    在这里插入图片描述
    在这里插入图片描述
    点击开始即可;
    重新打开表查看数据:展示:

    在这里插入图片描述
    目前这个为csv对表的,还有很多数据转化方式,比如库表对库表的后续有小伙伴想了解的可以在博文下面评论,我会即使回复的,今天又是元气满满的一天,要加油哦
    !!感恩遇见!!

    展开全文
  • 接下来,我们就开始去初步了解数据库和,以及创建一个数据库和向MySQL里面导入数据.一.初步了解数据库创建一个数据库1.显示所有的数据库SHOW DATABASES;点击运行按钮,就可以看到显示所有的数据库列表了.2.创建一个...

    在上一篇文章当中,我们初步了解了MySQL Workbench的图形界面.

    接下来,我们就开始去初步了解数据库和表,以及创建一个数据库和向MySQL里面导入数据.

    一.初步了解数据库创建一个数据库

    1.显示所有的数据库

    SHOW DATABASES;

    点击运行按钮,就可以看到显示所有的数据库列表了.

    e7f8c55db1ceabd02b668020d9313177.png

    2.创建一个数据库

    在学习数据库中,会发现没有数据可以让我们操作,于是要自力更生.

    自己创建数据库和数据.然后通过代码来运行.

    接下来,就介绍怎么创建数据库.

    方法一:代码创建

    (在代码工作区中输入)

    CREATE SCHEMA`crashcourse`;

    然后在里面创建表

    代码如下:

    CREATE TABLE`crashcourse`.`customers`(

    `cust_id`INT(11) NULL DEFAULT NULL,`cust_name` CHAR(50) NULL DEFAULT NULL,

    `cust_address`CHAR(50) NULL DEFAULT NULL,

    `cust_city`CHAR(50) NULL DEFAULT NULL,

    `cust_email`CHAR(255) NULL DEFAULT NULL);

    需要注意的是:自定义名称的两个点不是'',而是``,区别一下,否则代码会出错.

    然后,我们就看到了导航栏中,出现我们定义的表`customers`了.

    c8dfdd31e34b33d0664ae10539aa4fa5.png

    3.接下来,介绍如何向表导入数据,以`customers`为例子

    ①创建EXCEL数据,并保存为.CSV格式.如下图所示.

    注意:保存的格式一定要保存对,否则导入数据的时候肯定会报错.

    299b8411798103dff73135ec09be3310.png  

    204c98bf86d157139f289651813ec9ab.png

    ②接着,在导航栏中--右击--然后点击 Table Data Import Wizard

    --(选择文件)Next

    01d2cbc9c191b19d5f9e5a6131c772e7.png   

    649a3c939360521d37b5841dd982849e.png

    ③下面是选择创建新表导入数据,还是使用原来的表导入数据.

    (选择好以后)--Next

    (在这里选择原来的表导入数据)

    2d817caf65c4ea8b86df68aeada98546.png

    ④然后点击Next,继续点击Next,即完成导入数据了.

    3bef0d90b5f9fb650e45e5c8cd0466b9.png

    4.最后,我们来看一下我们说创建的数据库和导入表格的数据,

    代码如下:

    SHOW COLUMNS FROMcustomers;SELECT * FROM `crashcourse`.`customers`;

    结果如下:

    3cbcb592fe6e755ba92184b43cc334e6.png      

    6f0780487d8adc1a08f10347fd97c17d.png

    好了,今天就介绍到这里.

    --------------------------------------------------------------------------------------------------------------------------------

    作者以后会在博客中更新MySQL的教程,如果喜欢的话,关注一下哦!

    持续更新中..............................

    展开全文
  • SQL(创建表导入数据)

    千次阅读 2019-06-13 08:47:19
    创建表导入数据 1 在数据库中创建一个新的数据库,命名。 2 命名之后在数据库文件选择路径,两个都要确定。 3 在新建的数据库中新建一个,添加所需要的数据后, 要设计一个ID;在ID列名设计主键,然后设计...
  • 将一个dmp文件以数据泵的方式导入到一个新的用户中,并且创建表空间。 以下操作可以在plsql工具中执行: --创建directory路径,将dmp文件和日志文件放进去(不会创建出物理文件夹,可以通过下一步查看是否创建出逻辑...
  • 1、Hive创建表----直接使用create语句 (IF NOT EXISTS判断是否已存在,BY后面接分隔符) CREATE TABLE IF NOT EXISTS 表名(字段1 数据类型,字段2 数据类型) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’; ...
  • 1、创建表空间 CREATE bigfile TABLESPACE zwj  LOGGING  DATAFILE 'F:\oracle\zwj.ORA' SIZE 1000M  AUTOEXTEND  ON NEXT 1000M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL  SEGMENT SPACE
  • 将excel数据导入数据库的中的方法

    千次阅读 2021-12-08 16:26:15
    excel文件,导入到sql数据表
  • impala创建表导入数据

    千次阅读 2018-09-20 10:11:06
    远程服务器拷贝(本地服务器A文件拷贝到远程服务器B): scp -r ./clean -P 63305 remote_user_name@192...创建impala数据表 create table company_info(_id varchar(100), _name varchar(100), _scope string) r...
  • hive创建外部导入数据

    万次阅读 2019-05-12 14:13:22
    在HDFS创建分区,并存有文件 手工创建或者由程序在HDFS上生成了分区目录,每个分区目录下有相应的文件。 vi test.txt 2;Lily;1991;Shanghai 3;Jack;1992;Guangxi 4;Jenny;1999;Xinjiang 5;Jay;1995;Xizang 6;Tom;...
  • 文章目录MySQL创建数据表的三种方法,以及三种插入数据的方式MYSQL创建数据表的三种方法:1.常规创建2.复制表格3.将table1的部分拿来创建table2mysql中常用的三种插入数据的语句:1. insert into2. replace into3. ...
  • 最近这个项目做hive建表在导入数据的时候,数据量大的时候难免会慢一点,现在又发现了一种新的导入数据方式; 使用hdfs的文件进行导入,所以要使用的话就得先把文件上传到hdfs再操作 三个前提:1.文件必须已经上传...
  • 本篇文章小编给大家分享一下MySQL导入数据的4种方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。1、mysql 命令导入使用 mysql 命令导入语法格式为:mysql -u...
  • Oracle数据表导入导出_数据迁移用

    千次阅读 2022-05-11 10:48:39
    Oracle导出和导出方法
  • Navicat连接mongo的方法 需要使用Navicat Premium 12(含)以上的版本 Navicat Premium 11不支持连接
  • matlab创建mat格式变量并导入数据

    千次阅读 2022-02-10 20:23:23
    第一种方法: 点击新建变量,然后复制进去 第二种方法:打开xls文件,类型选择数值矩阵,导出数据 在工作区右击生成的数据,另存为mat格式就好了
  • SQL Server如何创建临时并插入数据

    千次阅读 2022-04-06 09:46:57
    1.创建临时并往临时添加自定义的数据 示例:创建临时 表明为#T1 创建的字段为 nameStr numStr create table #T1( nameStr nvarchar(20), numStr int ) 往临时#T1加入三条自定义数据 用union插入多条...
  • oracle数据库创建表并插入数据

    千次阅读 2021-06-01 11:06:09
    这里以创建一个学生student为例子,里面字段有id,name,sex,age,math,english,其中id是主键,其他的不为空,语法如下所示: create table student( id number(2) primary key, name varchar(10) not null...
  • 创建用户名之前,需要以...其格式为:格式: create tablespace 间名 datafile ‘数据文件名’ size 空间大小; 例如: SQL> create tablespace mytable datafile 'd:\myoracle\mytables1.dbf' size 1024M segmen
  • Doris 创建mysql从Mysql数据库导入数据 Doris 支持创建Mysql引擎的,操作此相当于操作远程Mysql。可以用来导入Mysql数据使用或测试。 建表语句(表名为sysbench生成的): CREATE TABLE example_db.table_...
  • 1 file --&gt; new --&gt; sqlwindow 2 输入建表语句 3 选中tables --&...4 关闭创建表的sql窗口 5 找到新建的 6 双击打开 7 在新打开的sql窗口中输入插入语句 8 重新执行查询...
  • 数据库——多种方法导入Excel数据

    千次阅读 2022-03-31 17:17:08
    文章目录一、SQL Server导入Excel数据二、小技巧导入Excel数据三、使用Microsoft.ACE.OLEDB导入Excel数据四、手动添加一行数据五...注意:这种方法只适用于添加少量数据,如果是几十万行的数据,是无法这样导入的。 如
  • hive分区插入/导入数据

    千次阅读 2021-01-12 17:07:33
    数据库分区的主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间,主要包括两种分区形式:水平分区与垂直分区。水平分区是对表进行行分区。而垂直分区是对列进行分区,一般是通过对表的垂直划分来...
  • PLSQL导入导出结构及数据

    千次阅读 2022-04-14 16:25:48
    PLSQL导入导出结构及表数据
  • SQL Server 数据库之导入导出数据

    千次阅读 2022-04-11 15:04:20
    导入导出数据 导入数据表 导出数据 导入其他源数据
  • 目录 Neo4j数据导入5种方式 1、使用Cypher语言创建 1.1 创建节点【create】 ...2、使用load csv导入数据 2.1构建容器(非必须) 2.2 导入节点csv文件 2.3 创建索引并删除重复节点 2.4 导入关...
  • 直接向分区中插入数据 create table score3 like score; insert into table score3 partition(month ='201807') values ('001','002','100'); 通过查询插入数据 通过load方式加载数据 load data local inpath '...
  • Hive本身并不存储数据,而是将数据存储在...通过create user命令创建user时,会在HDFS中生成一个user目录/文件。 外部 数据不由Hive管理,使用drop命令删除一个时,只是把的元数据给删除了,而数据不会...
  • 如果想要把A里面的数据完全复制到B中,只需要, 全选复制,然后黏贴到B表里,如果有错误,不用理会,然后关闭,在打开,B里面就有数据了! 1、假如A存在 则 insert into A(a,b,c) (select a,b,c from B)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 804,099
精华内容 321,639
热门标签
关键字:

导入数据的方法创建表