ODPS JDBC链接方式

2024-05-26 18:08
文章标签 jdbc 方式 链接 odps

本文主要是介绍ODPS JDBC链接方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写目录标题

  • MAVEN
  • 正文

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 JDBC链接方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1005199

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF

每日一练7:简写单词(含链接)

1.链接 简写单词_牛客题霸_牛客网 2.题目 3.代码1(错误经验) #include <iostream>#include <string>using namespace std;int main() {string s;string ret;int count = 0;while(cin >> s)for(auto a : s){if(count == 0){if( a <=