`
txf2004
  • 浏览: 6869547 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDBC处理大数据批处理

 
阅读更多

实现批处理的第二种方式:

处理大数据就是把大数据或者二进制数据保存到数据库中。

基本概念:大数据也称之为LOB(Large Objects)LOB又分为:clobblob

clob用于存储大文本。Text

blob用于存储二进制数据,例如图像、声音、二进制文等。

Text类型

对于MySQL中的Text类型,可调用如下方法设置:

MySQL中的Text类型,可调用如下方法获取:

BLOB类型

对于MySQL中的BLOB类型,可调用如下方法设置:

MySQL中的BLOB类型,可调用如下方法获取:

Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的OracleLOB段中, LOB段是在数据库内部表的一部分。因而在操作OracleBlob之前,必须获得指针(定位器)才能进行Blob数据的读取和写入。

l 插入空blob
insert into test(id,image) values(?,empty_blob());

l 获得blobcursor
select image from test where id= ? for update;
Blob b = rs.getBlob(
image);

注意: 须加for update,锁定该行,直至该行被修改完毕,保证不产生并发冲突。

l 利用 io,和获取到的cursor往数据库读写数据

批处理

当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。

l 实现批处理有两种方式,第一种方式:

Statement.addBatch(sql) list

l 实现批处理的第二种方式:

PreparedStatement.addBatch()

l 采用Statement.addBatch(sql)方式实现批处理:

优点:可以向数据库发送多条不同的SQL语句。

缺点:

SQL语句没有预编译。

当向数据库发送多条语句相同,但仅参数不同的SQL语句时,需重复写上很多条SQL语句。

l 采用PreparedStatement.addBatch()实现批处理

优点:发送的是预编译后的SQL语句,执行效率高。

缺点:只能应用在SQL语句相同,但参数不同的批处理中。因此此种形式的批处理经常用于在同一个表中批量插入数据,或批量更新表的数据。

分享到:
评论

相关推荐

    JDBC详解(连接操作数据库、处理大数据、批处理)

    详细介绍JDBC的连接操作数据库、处理大数据、批处理使用操作 Sun公司为了简化数据库开发,定义了一套JDBC接口,这套接口由数据库厂商去实现,这样,开发人员只需要学习JDBC接口, 并通过JDBC加载具体的驱动,就可以...

    SpringBatch批处理 刘相编

    《Spring Batch 批处理框架》全面、系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大数据批处理的基本开发能力,并对框架的架构设计、源码做了特定的剖析;在帮助读者掌握...

    JDBC批处理数据

    对jdbc的操作进行说明,避免出现大数据读取时的报错

    kyuubi:Kyuubi是基于Apache Spark构建的用于大规模数据处理和分析的分布式多租户JDBC服务器

    Kyuubi的目标是促进用户处理大数据(如普通数据)。 它提供了标准化的JDBC接口,在大数据场景中具有易于使用的数据访问。 最终用户可以专注于开发自己的业务系统并挖掘数据价值,而不必了解底层的大数据平台(计算...

    JDBC核心技术精讲

    9、mysql的预处理功能开启 10、JDBC中日期时间类型讨论11、通过JDBC存储和取出音频和视频数据 12、批处理概述 13、事务概述及事务的四大特性 14、mysql中使用事务 15、jdbc中使用事务 16、数据库连接池的介绍和...

    elasticsearch-jdbc-2.3.3.0-dist.zip

    mysql-simple-my是自己修改的批处理

    fluent-jdbc:Java库,用于高效的本机SQL查询(通过JDBC)

    关于FluentJdbc ...大数据(可伸缩,批处理和选择的流式处理) 自动结果到Pojo映射 数据库检查 查询侦听器(用于日志记录,审核,性能评估等) < groupId>org.codejargon < artifactId>fluentjdbc</ arti

    eel-sdk:JVM的大数据工具包

    鳗鱼 Eel是用于在hadoop生态系统中处理数据的工具包。 通过hadoop生态系统,我们指的是大数据世界通用的文件格式,例如HDFS或Hive表等位置中的镶木地板,兽人,csv。 与诸如或分布式批处理或流引擎相比,Eel是旨在...

    apache-kyuubi-1.4.1-incubating-source.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    apache-kyuubi-1.4.1-incubating-bin.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    apache-kyuubi-1.5.2-incubating-source.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    apache-kyuubi-1.5.2-incubating-bin.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    apache-kyuubi-1.6.1-incubating-source.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    apache-kyuubi-1.6.1-incubating-bin.tgz

    Apache Kyuubi是一个...批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例

    1-4-Hive+and+Impala.pdf

    Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数 据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。Impala与Hive...

    Impala和Hive的关系(详解)

    Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。...

    flink1.12入门到精通视频课程

    共课程包含9个章节:Flink安装部署与快速入门、Flink批处理API、Flink流处理API、Flink高级API、Flink-Table与SQL、Flink-Action综合练习、Flink-高级特性和新特性、Flink多语言开发、Flink性能调优 课程目录: ...

Global site tag (gtag.js) - Google Analytics