精华内容
下载资源
问答
  • jdbc连接odps

    千次阅读 2018-12-13 10:59:00
    2019独角兽企业重金招聘Python工程师标准>>> package cn.zlh.odps;... <artifactId>odps-jdbc <version>1.0-public 转载于:https://my.oschina.net/zlhblogs/blog/2987808

    package cn.zlh.odps;

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;

    /**
     * Created by zlh_fulin on 2018/5/14.
     */
    public class OdpsTest {
        private static String driverName = "com.aliyun.odps.jdbc.OdpsDriver";

        public static void main(String[] args) throws SQLException {
            try {
                Class.forName(driverName);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.exit(1);
            }

            Properties config = new Properties();
            config.put("access_id", "LTAI*********SPbd");
            config.put("access_key", "AC5K*******************GdnVk");
            config.put("project_name", "market_***_analyze");
            Connection conn = DriverManager.getConnection("jdbc:odps:http://service.cn.maxcompute.aliyun.com/api", config);
            ResultSet rs;

    // 建表
            Statement stmt = conn.createStatement();
            String tableName = "market_repay_report";
    //        stmt.execute("drop table if exists " + tableName);
    //        stmt.execute("create table " + tableName + " (key int, value string)");

    // metadata
    //        DatabaseMetaData metaData = conn.getMetaData();
    //        System.out.println("product = " + metaData.getDatabaseProductName());
    //        System.out.println("jdbc version = " + metaData.getDriverMajorVersion() + ", "
    //                + metaData.getDriverMinorVersion());
    //        rs = metaData.getTables(null, null, tableName, null);
    //        while (rs.next()) {
    //            String name = rs.getString(3);
    //            System.out.println("inspecting table: " + name);
    //            ResultSet rs2 = metaData.getColumns(null, null, name, null);
    //            while (rs2.next()) {
    //                System.out.println(rs2.getString("COLUMN_NAME") + "\t"
    //                        + rs2.getString("TYPE_NAME") + "(" + rs2.getInt("DATA_TYPE") + ")");
    //            }
    //        }

            String sql;

    // 插
    //        sql = String.format("insert into table %s select 24 key, ‘hours’ value from (select count(1) from %s) a", tableName, tableName);
    //        System.out.println("Running: " + sql);
    //        int count = stmt.executeUpdate(sql);
    //        System.out.println("updated records: " + count);

    //查
            sql = "select * from " + tableName + " where pt=to_char(dateadd(from_unixtime(unix_timestamp()), -1, 'dd'), 'yyyymmdd')";
            System.out.println("Running: " + sql);
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                System.out.println(String.valueOf(rs.getInt(1)) + "\t" + rs.getString(2));
            }

            if (rs !=null)  rs.close();
            if (stmt != null)  stmt.close();
            if (conn!=null)  conn.close();

        }
    }

    pom文件:
        <dependency>
          <groupId>com.aliyun.odps</groupId>
          <artifactId>odps-jdbc</artifactId>
          <version>1.0-public</version>
        </dependency>

    转载于:https://my.oschina.net/zlhblogs/blog/2987808

    展开全文
  • >odps-jdbc</ artifactId > < version >VERSION</ version > </ dependency > 入门 使用 ODPS JDBC 驱动程序就像使用其他 JDBC 驱动程序一样。 它包含以下几个步骤: 1. 使用Class.forName()显式加载 ...
  • 还在为传统 DBMS 的性能问题而...本文将结合几种常见的使用场景(数据查询、数据导入、第三方客户端工具)来介绍 odps-jdbc ,并附有代码示例级别的入门教程(比较长,所以放在了最后,并不建议看 :D)。 什么是 od

    还在为传统 DBMS 的性能问题而烦恼?想借助 ODPS 的分布计算能力?但是你又不想学习官方的 SDK ?如果你恰好在老项目中用了 JDBC 访问 Oracle 或 MySQL?那么你可能对这篇文章感兴趣。

    本文将结合几种常见的使用场景(数据查询、数据导入、第三方客户端工具)来介绍 odps-jdbc ,并附有代码示例级别的入门教程(比较长,所以放在了最后,并不建议看 :D)。

    什么是 odps-jdbc?odps-jdbc 是 ODPS 官方提供的 JDBC 驱动,它向 Java 程序提供了一套执行 SQL 任务的接口。还记得吗? 当年 Java 红遍大江南北靠的就是一句“编写一次,处处运行”,JDBC 也是这种思潮下产物。

    目前 hive-jdbc 支持的功能 odps-jdbc 都能够支持,hive-jdbc 不支持的一些功能,例如滚动游标的 ResultSet,也支持了。 我们的目标是使 ODPS 更加开放、灵活和易用。项目托管在github。欢迎各位开源热心人士积极反馈,贡献代码。

    场景1:数据查询

    用 JDBC API 执行查询语句(Select)是最常见的场景。对于 ODPS 的 SQL 任务,我们只要通过几个简单的 API,就可以拿到带有类型信息的数据。

    具体来说,就是调用 Statement 对象的 execute() 方法,Statement 对象可以通过 conn 对象的来创建(conn 是 JDBC 连接对象,后面的入门教程会具体描述它是如何创建的)。Statement 对象可以重复地使用来执行不同的 SQL。

    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.execute("SELECT foo FROM bar");
    

    Select 语句执行完成会返回一个 ResultSet 对象,它的用法类似一个迭代器,你可以在一个 while 循环中访问结果中每一行的数据。是不是很简单?

    while (rs.next()) {
        ...
    }
    

    假设查询到的结果只有两列数据,第一列为整型,第二列为字符串,把所有行打印出来的代码应该长这样:

    while (rs.next()) {
        System.out.printf("col1:%d, col2:%s", rs.getInt(1), rs.getString(2));
    }
    

    更多 API 的使用可以查看 JDBC 的文档

    场景2:批量数据导入

    JDBC 接口定义了批处理(batch)操作,结合 PreparedStatement 使用,odps-jdbc 就可以实现数据批量导入 ODPS 的功能。

    具体地,只要把带有类型信息的数据先添加到 batch 中,当累计到一定数量(batchSize),就调用一次批量执行方法,这样就能批量地将你的数据上传到 odps。省去了额外序列化反序列化的麻烦,尤其适合从传统数据库导到 ODPS 的场景。

    还是直接看代码吧:

    String sql = "insert into employee (name, city, phone) values (?, ?, ?)";
    PreparedStatement ps = conn.prepareStatement(sql);
    
    final int batchSize = 1000;
    int count = 0;
    
    for (Employee employee: employees) {
    
        ps.setString(1, employee.getName());
        ps.setString(2, employee.getCity());
        ps.setString(3, employee.getPhone());
        ps.addBatch();
    
        if(++count % batchSize == 0) {
            ps.executeBatch();
        }
    }
    ps.executeBatch(); // insert remaining records
    

    其中 PreparedStatement 通过一个 sql 语句的模板来创建,它可以让我们在一条 sql 语句中注入带有类型信息的数据。
    我们将 batch 的大小设为 1000,用一个 count 来触发批量执行的操作(executeBatch())。

    场景3:第三方客户端工具

    你甚至不一定需要通过代码的方式来接入 JDBC。兼容 JDBC,也就意味着 ODPS 可以兼容所有 JDBC 兼容的第三方工具,例如:

    • Pentahao 报表工具
    • Squirrel SQL 客户端工具
    • SQL Workbench/J 客户端工具
    • TalentD ETL 工具
    • ...

    也就是说如果你是以上这些软件的用户,都可以毫无成本地迁移到 ODPS 平台上工作。下面就简单介绍一下 SQL Workbench/J 的使用。笔者曾经试用过很多利用 JDBC 连接数据库的客户端软件,大多都因为操作实在不方便,不得不放弃,直到遇见了 SQL Workbench/J,好像突然遇到了老朋友,非常推荐!

    SQL Workbench/J 下载地址

    首先你需要加载我们的 jdbc 驱动,点开 Manager Driver 加载我们的独立 jar 包(下载地址会在后面的入门教程中介绍),然后正确输入 Classname。

    _2016_02_17_2_32_42

    其次新建一个 Connection Profile,在 Driver 下拉框中选择我们刚才添加的驱动,然后填入 url(详细定义见入门教程),username 和 password 分别为你的阿里云账号和钥匙。

    _2016_02_17_2_32_26

    点击确认,这个时候你会发现数据库已经连接好了。于是你就可以在输入框中敲入查询语句、DDL 语句,并在下面的结果栏中查看结果。

    _2016_02_17_2_38_24

    现在你已经大概了解了 odps-jdbc 能用来处理哪些场景,如果你真的需要开始使用它,可以继续阅读以下内容。

    入门教程(TL;DR)

    使用前的准备工作

    1.你可以通过以下两种方式来安装 JDBC 驱动

    <dependency>
      <groupId>com.aliyun.odps</groupId>
      <artifactId>odps-jdbc</artifactId>
      <version>x.y</version>
    </dependency>
    

    2.手动在代码中将 JDBC 驱动加载到 JVM

    Class.forName("com.aliyun.odps.jdbc.OdpsDriver");
    

    3.通过下面这条语句可以定义一个 JDBC 连接

    Connection conn = DriverManager.getConnection(url, accessId, accessKey);
    

    其中 url 是 JDBC 的资源定位符,用过 JDBC 的人一定知道,JDBC 就是利用它来找到数据库的入口,并且进行一些初始化的配置。一个完整的 url 就长下面这个样子,它将使用名为 jdbc_test 的 ODPS 项目,并使用 UTF-8 编码:

    "jdbc:odps:https://service.odps.aliyun.com/api?project=jdbc_test&charset=UTF-8"
    

    accessId 和 accessKey 分别对应了阿里云账号和钥匙。

    首先你要有一个阿里云的账号 :)

    4.如果配置参数太多,也可以先添加到 Properties 中,然后通过它来创建

    Properties config = new Properties();
    config.put("access_id", "...");
    config.put("access_key", "...");
    config.put("project_name", "...");
    config.put("charset", "...");
    Connection conn = DriverManager.getConnection("jdbc:odps:<endpoint>", config);
    

    一个完整的例子

    下面的代码展示 JDBC 中的常见操作,包含了删表、建表、获取表 meta、执行 insert、执行 select 以及遍历结果集:

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class Main {
    
      private static String driverName = "com.aliyun.odps.jdbc.OdpsDriver";
    
      public static void main(String[] args) throws SQLException {
        try {
          Class.forName(driverName);
        } catch (ClassNotFoundException e) {
          e.printStackTrace();
          System.exit(1);
        }
    
        Properties config = new Properties();
        config.put("access_id", "your_access_id");
        config.put("access_key", "your_access_key");
        config.put("project_name", "your_project");
        config.put("charset", "utf-8");
        Connection
            conn = DriverManager.getConnection("jdbc:odps:https://service.odps.aliyun.com/api", config);
        ResultSet rs;
    
        // create a table
        Statement stmt = conn.createStatement();
        String tableName = "jdbc_test";
        stmt.execute("drop table if exists " + tableName);
        stmt.execute("create table " + tableName + " (key int, value string)");
    
        // get meta data
        DatabaseMetaData metaData = conn.getMetaData();
        System.out.println("product = " + metaData.getDatabaseProductName());
        System.out.println("jdbc version = " + metaData.getDriverMajorVersion() + ", "
                           + metaData.getDriverMinorVersion());
        rs = metaData.getTables(null, null, tableName, null);
        while (rs.next()) {
          String name = rs.getString(3);
          System.out.println("inspecting table: " + name);
          ResultSet rs2 = metaData.getColumns(null, null, name, null);
          while (rs2.next()) {
            System.out.println(rs2.getString("COLUMN_NAME") + "\t"
                               + rs2.getString("TYPE_NAME") + "(" + rs2.getInt("DATA_TYPE") + ")");
          }
        }
    
        // run sql
        String sql;
    
        // insert a record
        sql = String.format("insert into table %s select 24 key, 'hours' value from (select count(1) from %s) a", tableName, tableName);
        System.out.println("Running: " + sql);
        int count = stmt.executeUpdate(sql);
        System.out.println("updated records: " + count);
    
        // select * query
        sql = "select * from " + tableName;
        System.out.println("Running: " + sql);
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
          System.out.println(String.valueOf(rs.getInt(1)) + "\t" + rs.getString(2));
        }
    
      }
    
    

    运行可以获得类似如下结果:

    product = ODPS JDBC
    jdbc version = 1, 0
    inspecting table: jdbc_test
    key BIGINT(-5)
    value   STRING(12)
    Running: insert into table jdbc_test select 24 key, 'hours' value from (select count(1) from jdbc_test) a
    updated records: 1
    Running: select * from jdbc_test
    24  hours
    

    FAQ

    1.如何获取 ODPS SQL 的 logview?

    JDBC 驱动默认会以日志的形式将 LOGVIEW 打印在程序的 stderr 中。

    2.如何调试 JDBC 驱动?

    在连接串中将 loglevel 设置为 DEBUG,例如:

    "jdbc:odps:<endpoint>?project=jdbc_test&loglevel=DEBUG"
    

    如果你遇到了什么问题,可以在这个地方提问~

    阅读全文:http://click.aliyun.com/m/14040/



    原文链接

    http://click.aliyun.com/m/14040/


    展开全文
  • 使用JDBC编程访问ODPS

    2015-11-10 10:00:00
    ODPS提供了自己的JavaSDK作为编程接口。...odps-jdbc 可以较好的解决这个问题。通过 odps-jdbc 可以轻松完成类似执行 select 语句,并获得结果集这样的任务。 创建任意 Java 项目,从 maven 添加...

    ODPS 提供了自己的 Java SDK 作为编程接口。但是对于大多数来自传统关系数据库的用户来说,为了完成一些简单任务再学习一套 SDK,性价比颇低。odps-jdbc 可以较好的解决这个问题。通过 odps-jdbc 可以轻松完成类似执行 select 语句,并获得结果集这样的任务。
    创建任意 Java 项目,从 maven 添加 odps-jdbc 作为依赖(位于 maven 主仓-http://search.maven.org/#artifactdetails%7Ccom.aliyun.odps%7Codps-jdbc%7C1.0-public%7Cjar):

    <dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-jdbc</artifactId>
    <version>1.0-public</version>
    </dependency>

    参考如下示例代码,包含了删表、建表、获取表 meta、执行 insert、执行 select 以及遍历结果集等常见操作:

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;

    public class Main {

    private static String driverName = “com.aliyun.odps.jdbc.OdpsDriver”;

    public static void main(String[] args) throws SQLException {
    try {
    Class.forName(driverName);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    System.exit(1);
    }

    Properties config = new Properties();
    config.put(“access_id”, “your_access_id”);
    config.put(“access_key”, “your_access_key”);
    config.put(“project_name”, “your_project”);
    config.put(“charset”, “utf-8″);
    Connection
    conn = DriverManager.getConnection(“jdbc:odps:https://service.odps.aliyun.com/api”, config);
    ResultSet rs;

    // create a table
    Statement stmt = conn.createStatement();
    String tableName = “jdbc_test”;
    stmt.execute(“drop table if exists ” + tableName);
    stmt.execute(“create table ” + tableName + ” (key int, value string)”);

    // get meta data
    DatabaseMetaData metaData = conn.getMetaData();
    System.out.println(“product = ” + metaData.getDatabaseProductName());
    System.out.println(“jdbc version = ” + metaData.getDriverMajorVersion() + “, ”
    + metaData.getDriverMinorVersion());
    rs = metaData.getTables(null, null, tableName, null);
    while (rs.next()) {
    String name = rs.getString(3);
    System.out.println(“inspecting table: ” + name);
    ResultSet rs2 = metaData.getColumns(null, null, name, null);
    while (rs2.next()) {
    System.out.println(rs2.getString(“COLUMN_NAME”) + “\t”
    + rs2.getString(“TYPE_NAME”) + “(” + rs2.getInt(“DATA_TYPE”) + “)”);
    }
    }

    // run sql
    String sql;

    // insert a record
    sql = String.format(“insert into table %s select 24 key, ‘hours’ value from (select count(1) from %s) a”, tableName, tableName);
    System.out.println(“Running: ” + sql);
    int count = stmt.executeUpdate(sql);
    System.out.println(“updated records: ” + count);

    // select * query
    sql = “select * from ” + tableName;
    System.out.println(“Running: ” + sql);
    rs = stmt.executeQuery(sql);
    while (rs.next()) {
    System.out.println(String.valueOf(rs.getInt(1)) + “\t” + rs.getString(2));
    }

    }

    }

    运行可以获得类似如下结果:

    product = ODPS JDBC
    jdbc version = 1, 0
    inspecting table: jdbc_test
    key BIGINT(-5)
    value   STRING(12)
    Running: insert into table jdbc_test select 24 key, ‘hours’ value from (select count(1) from jdbc_test) a
    updated records: 1
    Running: select * from jdbc_test
    24  hours

    这里列一下使用 odps-jdbc 可能要注意的事项:

    • 目前 odps-jdbc 的实现,类似 select 这样的查询会在 odps 中生成临时表,表名为 jdbc_temp_tbl_$UUID。这些临时表会在 Statement.close 和 Connection.close 的时候被删除。如果忘记了调用 close,这些表会遗留在 ODPS 中,默认生命周期是 3 天。
    • odps-jdbc 虽然可以完成 insert into 动作,但并不适合如传统关系数据库那样密集执行每次 insert 一条记录的场景。每次 insert into 会启动一个 instance,执行时间可能需要数秒。
    • 并不是所有 odpscmd 命令都被 Statement 支持。Statement 只接受 sql 语句,例如 set、grant 等都不是 sql。
    • 不支持 select null。目前 odps 无法支持 create table … as select …, null, …,因此在 Statement 中写带有 null 的 select 会出错。

    我们的目的是使 ODPS 更加开放、灵活和易用。目前 odps-jdbc 已经完成集团的开源流程,托管在 github-https://github.com/aliyun/aliyun-odps-jdbc 上。欢迎各位开源热心人士积极反馈,贡献代码。

    展开全文
  • ODPS JDBC链接方式

    2021-07-26 11:16:46
    这里写目录标题MAVEN正文 MAVEN <dependency>...odps-jdbc</artifactId> <version>3.0.1</version> </dependency> 正文 import java.sql.Connection; import java.sql.

    这里写目录标题

    MAVEN

    <dependency>
         <groupId>com.aliyun.odps</groupId>
         <artifactId>odps-jdbc</artifactId>
         <version>3.0.1</version>
     </dependency>
    

    正文

    特别注意:
    url

    jdbc:odps:http://service.cn.maxcompute.aliyun.com/api
    

    user ——> access_id;
    这里不能再写user了,得写access_id不然系统不认

    config.put("access_id", "LTAI*********SPbd");
    

    password——>access_key;
    这里不能再写password了,得写access_key不然系统不认

    config.put("access_key", "AC5K*******************GdnVk");
    

    database——>project_name
    这里不能再写database了,得写project_name不然系统不认

    config.put("project_name", "market_***_analyze");
    
    
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    /**
     * Created by zlh_fulin on 2018/5/14.
     */
    public class OdpsTest {
        private static String driverName = "com.aliyun.odps.jdbc.OdpsDriver";
    
        public static void main(String[] args) throws SQLException {
            try {
                Class.forName(driverName);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.exit(1);
            }
    
            Properties config = new Properties();
            config.put("access_id", "LTAI*********SPbd");
            config.put("access_key", "AC5K*******************GdnVk");
            config.put("project_name", "market_***_analyze");
            Connection conn = DriverManager.getConnection("jdbc:odps:http://service.cn.maxcompute.aliyun.com/api", config);
            ResultSet rs;
    
    // 建表
            Statement stmt = conn.createStatement();
            String tableName = "market_repay_report";
    //        stmt.execute("drop table if exists " + tableName);
    //        stmt.execute("create table " + tableName + " (key int, value string)");
    
    // metadata
    //        DatabaseMetaData metaData = conn.getMetaData();
    //        System.out.println("product = " + metaData.getDatabaseProductName());
    //        System.out.println("jdbc version = " + metaData.getDriverMajorVersion() + ", "
    //                + metaData.getDriverMinorVersion());
    //        rs = metaData.getTables(null, null, tableName, null);
    //        while (rs.next()) {
    //            String name = rs.getString(3);
    //            System.out.println("inspecting table: " + name);
    //            ResultSet rs2 = metaData.getColumns(null, null, name, null);
    //            while (rs2.next()) {
    //                System.out.println(rs2.getString("COLUMN_NAME") + "\t"
    //                        + rs2.getString("TYPE_NAME") + "(" + rs2.getInt("DATA_TYPE") + ")");
    //            }
    //        }
    
            String sql;
    
    // 插
    //        sql = String.format("insert into table %s select 24 key, ‘hours’ value from (select count(1) from %s) a", tableName, tableName);
    //        System.out.println("Running: " + sql);
    //        int count = stmt.executeUpdate(sql);
    //        System.out.println("updated records: " + count);
    
    //查
            sql = "select * from " + tableName + " where pt=to_char(dateadd(from_unixtime(unix_timestamp()), -1, 'dd'), 'yyyymmdd')";
            System.out.println("Running: " + sql);
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                System.out.println(String.valueOf(rs.getInt(1)) + "\t" + rs.getString(2));
            }
    
            if (rs !=null)  rs.close();
            if (stmt != null)  stmt.close();
            if (conn!=null)  conn.close();
    
        }
    }
    
    展开全文
  • 阿里云数据源连接(ODPS、DRDS) 个人博客地址:++https://blog.zhangkx.cn/++ 一、ODPS 1.准备工作 1)阿里云账号的accessId和accessKey(几乎等同于账号) 2)ODPS连接所需API地址,公网ODPS统一为 ...
  • MaxCompute JDBC使用说明和实例

    千次阅读 2020-04-27 20:22:00
    MaxCompute JDBC驱动是MaxCompute提供的Java数据库连接(Java Database Connectivity)接口,可以通过标准的JDBC编程基于MaxCompute执行海量数据的分布式计算查询。MaxCompute JDBC驱动还可以用于连接MaxCompute和...
  • ODPS的Java连接(2)

    2021-07-26 09:42:49
    import com.aliyun.odps.*; import com.aliyun.odps.account.Account; import com.aliyun.odps.account.AliyunAccount; import com.aliyun.odps.data.Record; import com.aliyun.odps.task.SQLTask; import java....
  • 文章目录前言部署环境和版本部署准备环境配置...137root 安装 web-server 报错启动之后 logs 中有报错 zeppelin-web-angularzeppelin 连接 阿里云 MaxCompute(ODPS)1、下载 ODPS JDBC的jar包2、配置odps interpreter
  • ODPS 的java 链接模式

    2021-07-26 09:40:45
    ODPS package com.datatech.app.common.util; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java....
  • 1.MyByatis通过多数据源的方式集成ODPS 1.1 新增配置文件 # datasource-saas spring.datasource.names = odps spring.datasource.type = com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class...
  • java api访问odps

    千次阅读 2018-12-13 17:24:00
    package cn.zlh.odps; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; i...
  • 在前一个STEP中,我们完成了ODPS的数据下载。 本blog记录如何完成上传。 @Override public boolean UpdateOdps() { //初始化需要录入的数据 List<Map> List_model = read(); TableTunnel tunnel = ...
  • 1.代码如下 ...String url = "jdbc:hive2://master135:10000/default"; String user = "root"; String pwd = "root"; String driverName = "org.apache.hive.jdbc.HiveDriver"; ...
  • 使用JDBC连接数据库获取表字段的注释信息 可以直接Copy编译使用的,不过别忘了数据库驱动! 另外注意的: 数据库,库中的表字段要有注释信息 ,要不然是不可能拿到注释信息,然后注意下面那个if判断我...
  • Datax实现odps和mysql之间数据传输

    千次阅读 2020-04-08 15:47:14
    一、 mysql的数据加载到odps的表中 { “job”: { “setting”: { “speed”: {“byte”: 1048576} }, “content”: [ { “reader”: { “name”: “mysqlreader”, “parameter”: { “column”: [ “id”, “name”...
  • Odps(MaxCompute)使用时一些问题

    千次阅读 2017-11-04 09:48:25
    odps官方文档之给出了jdbc最原始的查询。我们当然不会直接用jdbc,不然工作量太大。 因为查询出来的都是列,需要自己封装成对象。 因此考虑到odps本身也是数据库,那么我们依旧可以使用mybatis来查询odps。 唯一...
  • odps数据同步到oracle { “job”: { “setting”: { “speed”: { “channel”: 5 } }, “content”: [ { “reader”: { “name”: “odpsreader”, “parameter”: { “accessId”: “accessId”, “accessKey”: ...
  • 简介: Kettle是一款开源的ETL工具,纯Java实现,可以在Windows、Unix和Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑 。... 将MaxCompute JDBC driver置于Ke
  • 本节我们一起来看一下如何实现一个数据库连接池。 为什么需要连接池? 数据库连接的创建是非常耗时的一个操作,在高并发的场景,如果每次对于数据库的访问都重新创建的话,成本太高。 于是就有了“池化”这种解决...
  • 简介: 很多客户使用MaxCompute和Hologres的集成方案同时满足大规模离线分析、实时运营分析、交互式查询及...使用MaxCompute连接访问Hologres开发实践 前言 MaxCompute(大数据计算服务)是阿里云Serverless、全托
  • java数据库的连接简单的介绍JDBCJDBC连接数据库简单步骤(以遍历数据库信息为例):代码优化与改进JDBC Dao模式4.statement安全问题statement的执行,其实是拼接sql语句,然后再一起执行。PrepareStatement5.数据库...
  • 注:MaxCompute原名ODPS,是阿里云自研的大数据计算平台,文中出现的MaxCompute与ODPS都指代同一平台,不做区分 与MaxCompute JDBC相关的日志有两种,一种是由JDBC内部代码直接输出的日志,第二种是JDBC抛出异常后,...
  • url: jdbc:mysql://106.14.219.67:3306/hmall?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: root driver-class-name: com.mysql.jdbc.Driver 您需要通过

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 559
精华内容 223
关键字:

jdbc连接odps