Trafodion LOB大对象

Trafodion支持大对象类型,包括blob和clob,clob(Character Large Object)使用CHAR来保存数据,如保存XML文档,blob(Binary Large Object),二进制大对象,可以存储二进制文件如图片。
注:不建议在LOB字段上创建主键,也不建议在LOB字段上创建索引,一个表可以包含多个LOB字段。

下面例子演示创建带有blob和clob字段的表,

>>cqd traf_blob_as_varchar 'off';

--- SQL operation complete.
>>cqd traf_clob_as_varchar 'off';

--- SQL operation complete.
>>create table test_lob_tbl (a blob, b clob);

--- SQL operation complete.
>>showddl test_lob_tbl;

CREATE TABLE TRAFODION.SEABASE.TEST_LOB_TBL
  (
    A                                BLOB DEFAULT NULL NOT SERIALIZED
  , B                                CLOB DEFAULT NULL NOT SERIALIZED
  )
 ATTRIBUTES ALIGNED FORMAT
;

--- SQL operation complete.

LOB类型相关的函数有:

  • LOBTOSTRING
  • LOBTOFILE
  • LOBTOBUFFER
  • STRINGTOLOB
  • FILETOLOB
  • BUFFERTOLOB

下面演示如何把一个字符串保存到clob中以及如何把一个文件保存到blob中,

>>insert into test_lob_tbl values(filetolob('test.txt'),stringtolob('abcdefg'));

--- 1 row(s) inserted.

现在,让我们来从lob字段中拿出刚刚保存的文件和字符串吧
(注:用extract命令将保存在LOB对象中的文本、图片等二进制文件抽取并保存到对应的文件中)

>>select a from test_lob_tbl;

A
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LOBH0000000200010452004884911267714619452004885257433198118212355808993728656021"TRAFODION"."SEABASE"
>>extract lobtofile (LOB 'LOBH0000000200010452004884911267714619452004885257433198118212355808993728656021"TRAFODION"."SEABASE"', 'test.txt1');
Success. Targetfile :test.txt1  Length : 8

--- SQL operation complete.

>>select lobtostring(b) from test_lob_tbl;

(EXPR)
-------
abcdefg

下面命令用来查询LOB对象的详细信息,

>>showddl test_lob_tbl,lob details;

CREATE TABLE TRAFODION.SEABASE.TEST_LOB_TBL
  (
    A                                BLOB DEFAULT NULL NOT SERIALIZED
  , B                                CLOB DEFAULT NULL NOT SERIALIZED
  )
 ATTRIBUTES ALIGNED FORMAT
;

LOB Metadata
============

CREATE TABLE TRAFODION.SEABASE.LOBMD__04520048849112677146
  (
    LOBNUM                           SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , STORAGETYPE                      SMALLINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , LOCATION                         VARCHAR(4096) CHARACTER SET ISO88591
      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE NOT SERIALIZED
  , PRIMARY KEY (LOBNUM ASC)
  )
 ATTRIBUTES ALIGNED FORMAT
;

************************************************
LobNum: 1

Data Storage
============

Location: /lobs
DataFile: LOBP_04520048849112677146_0001

LOB Descriptor Handle
=====================

CREATE TABLE TRAFODION.SEABASE."LOBDescHandle__04520048849112677146_0001"
  (
    DESCPARTNKEY                     LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , NUMCHUNKS                        INT NO DEFAULT NOT NULL NOT DROPPABLE NOT
      SERIALIZED
  , LOBLEN                           LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  )
  STORE BY (DESCPARTNKEY ASC)
  SALT USING 8 PARTITIONS
 ATTRIBUTES ALIGNED FORMAT
;

LOB Descriptor Chunks
=====================

CREATE TABLE TRAFODION.SEABASE."LOBDescChunks__04520048849112677146_0001"
  (
    DESCPARTNKEY                     LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , DESCSYSKEY                       LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , CHUNKNUM                         INT NO DEFAULT NOT NULL NOT DROPPABLE NOT
      SERIALIZED
  , CHUNKLEN                         LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , DATAOFFSET                       LARGEINT DEFAULT NULL NOT SERIALIZED
  , STRINGPARAM                      VARCHAR(400) CHARACTER SET ISO88591
      COLLATE DEFAULT DEFAULT NULL NOT SERIALIZED
  , PRIMARY KEY (DESCPARTNKEY ASC, DESCSYSKEY ASC, CHUNKNUM ASC)
  )
  SALT USING 8 PARTITIONS
 ATTRIBUTES ALIGNED FORMAT
;

************************************************
LobNum: 2

Data Storage
============

Location: /lobs
DataFile: LOBP_04520048849112677146_0002

LOB Descriptor Handle
=====================

CREATE TABLE TRAFODION.SEABASE."LOBDescHandle__04520048849112677146_0002"
  (
    DESCPARTNKEY                     LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , NUMCHUNKS                        INT NO DEFAULT NOT NULL NOT DROPPABLE NOT
      SERIALIZED
  , LOBLEN                           LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  )
  STORE BY (DESCPARTNKEY ASC)
  SALT USING 8 PARTITIONS
 ATTRIBUTES ALIGNED FORMAT
;

LOB Descriptor Chunks
=====================

CREATE TABLE TRAFODION.SEABASE."LOBDescChunks__04520048849112677146_0002"
  (
    DESCPARTNKEY                     LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , DESCSYSKEY                       LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , CHUNKNUM                         INT NO DEFAULT NOT NULL NOT DROPPABLE NOT
      SERIALIZED
  , CHUNKLEN                         LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
      NOT SERIALIZED
  , DATAOFFSET                       LARGEINT DEFAULT NULL NOT SERIALIZED
  , STRINGPARAM                      VARCHAR(400) CHARACTER SET ISO88591
      COLLATE DEFAULT DEFAULT NULL NOT SERIALIZED
  , PRIMARY KEY (DESCPARTNKEY ASC, DESCSYSKEY ASC, CHUNKNUM ASC)
  )
  SALT USING 8 PARTITIONS
 ATTRIBUTES ALIGNED FORMAT
;

--- SQL operation complete.
内容概要:本文提出了一种基于改进扩散模型的高海拔地区新能源高波动出力场景生成方法,并提供了完整的Python代码实现。该方法针对高海拔地区风能、光伏等新能源出力波动剧烈、不确定性高的特点,通过优化扩散模型的结构与训练策略,有效捕捉历史数据的概率分布特征与时序相关性,从而生成高质量、多样化的出力场景。文中详细阐述了模型的数学推导、网络架构设计、损失函数优化及采样算法改进,并通过实验证明其在拟合精度、场景多样性与稳定性方面优于传统生成模型,为电力系统在高比例新能源接入下的规划、调度与风险评估提供了可靠的场景输入支持。; 适合人群:具备一定Python编程能力和机器学习基础,从事新能源发电预测、电力系统分析、智能优化、场景生成等方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①用于高海拔地区风电、光伏出力的不确定性建模与多场景生成;②支撑含高渗透率新能源的电力系统随机优化调度、鲁棒决策与风险评估;③为相关学术研究、论文复现与算法改进提供可运行的技术方案与代码基础; 阅读建议:建议读者结合所提供的完整资源(代码、数据集、说明文档)进行实践操作,重点关注扩散模型的前向加噪与反向去噪过程的设计细节,以及如何将其适配于新能源时序数据的生成任务,通过参数调优与对比实验深入理解模型的生成机制与性能边界。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值