dremio sql server uniqueidentifier 数据类型问题
uniqueidentifier 类型用来存储guid,sql server内部存储为16个固定字节的二进制数据,在dremio 当前的arp 类型映射中,存储为了varbinary,机制上没有问题,但是很多时候大家希望使用可视化的字符串格式uuid(因为映射为varbinary,界面显示就是一个base64格式了)
解决方法
方法比较多,一种就是使用自定义函数,一种就是修改类型映射
- 直接使用内置十六进制处理函数
会有格式不一致,但是基本可以用,尤其是mongdb 这类,不存在特殊字符的(-)
UPPER(to_hex(<field>))
- 自定义函数处理
频繁调用,性能可能不是很好
CREATE FUNCTION uuid(id VARBINARY) RETURNS VARCHAR RETURN CONCAT(SUBSTR(TO_HEX(CAST(id AS VARBINARY)), 1, 8), '-',SUBSTR(TO_HEX(CAST(id AS VARBINARY)), 9, 4), '-',SUBSTR(TO_HEX(CAST(id AS VARBINARY)), 13, 4), '-',SUBSTR(TO_HEX(CAST(id AS VARBINARY)), 17, 4), '-',SUBSTR(TO_HEX(CAST(id AS VARBINARY)), 21, 12)
)
- 类型映射
- source:name: "uniqueidentifier"max_precision: 8000literal_length_limit: 8000required_cast_args: "precision"dremio:name: "varchar"
- 实际处理
可以开发自己的arp (扩展版sql server) 或者直接修改ce jdbc plugin mssql 的arp yaml 定义
说明
以上是问题的几种解决方法,通过代码模式的修改的代码我已经放github 了,大家可以参考,同时构建包也发布了(24.3版本的,新版本类似)
参考资料
https://github.com/rongfengliang/my-dremio-mssql-connector
https://learn.microsoft.com/en-us/sql/t-sql/data-types/uniqueidentifier-transact-sql?view=sql-server-ver17
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/933956.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
重磅福利,JetBrains 宣布 DataGrip 面向非商业用途免费!
前言
JetBrains 再放大招!继 JetBrains RustRover、CLion、Rider、WebStorm 和 RubyMine 之后,其专业数据库管理工具 DataGrip 也正式面向非商业用途免费开放。无论你是学生、开源贡献者,还是出于个人兴趣探索数据库…
【GitHub每日速递 251010】Zen MCP:一键 orchestrate 多 AI 模型,代码开发协作新革命!
开源神器 Infisical:一站式解决秘密管理、PKI、KMS 等难题!
Infisical 是一个开源的密钥管理、PKI 和 SSH 访问平台。简单讲,它帮助团队安全地存储和管理敏感信息(如密码、证书、密钥),并控制谁可以访问这些资源…
Beyond Compare5最新破解版下载及安装使用教程
Beyond Compare5最新破解版下载及安装使用教程Beyond Compare5中文版是一款功能强大且极其专业的文件数据对比软件,软件支持对比文本内容、文件目录、文本类型等内容,软件可以有效帮助用户对比文件具体差异参数或者同…
Why cant developing countries become developed?
When capitalist countries allow immigrants to engage in labor while they themselves surf the internet every day for public opinion propaganda because they have nothing to do.
They have never really ask…
22 LCA模拟赛2T1 奶龙与贝利亚 题解
奶龙与贝利亚
题面
\(n\) 个生物排成一排,每个生物是奶龙或者贝利亚。
给定数组 \(a_1,a_2, \cdots, a_n\),有约束:若第 \(i\) 个位置是奶龙,那么前面恰好有 \(a_i\) 个奶龙。
若第 \(i\) 个位置是贝利亚,那么前面…
微软拼音输入法自定义短语批量导入导出工具(支持Windows 10/11)
微软拼音输入法自定义短语批量导入导出工具(支持Windows 10/11)用微软拼音输入法?你一定遇到过这个痛点!
在 Windows 10/11 上,微软拼音输入法虽然自带自定义短语功能,但有个致命问题:
没有官方的批量导入/导出…
AI风险管控新规应对系统抵抗关闭行为
某中心旗下DeepMind更新前沿安全框架,新增对AI系统抵抗关闭和异常说服能力的监控,研究显示大型语言模型可能通过修改代码规避关闭指令,引发对高级AI系统人类控制能力的担忧。某中心扩展AI风险规则 研究揭示令人担忧…
01-Vue3阶段必会的前置知识-01变量和常量
01-Vue3阶段必会的前置知识-01变量和常量$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");变量变量使用let声明常量常量使用的是const声明数组添加元素4
cons…
这是我的第一个个人博客
这是我的第一个个人博客这是我的第一个博客,后续,我还想将我的想法以文章或者视屏的方式发到我的个人网站上去。还有Github,reddit,贴吧上。
现在当务之急是找到一个顺手的写作工具和多平台管理工具。
华为 AP hw_manage 离线管理 Wi-Fi 密码
AP尚未上线:Fit AP无密码、Cloud AP为 hw_manage
AP上线后离线:为AC的 temporary-management psk 命令设置的密码
MaxProduct
public class MaxProduct {public static int maxProduct(int[] arr) {if (arr == null || arr.length < 2) {return 0;}int max1 = Integer.MIN_VALUE, max2 = Integer.MIN_VALUE;int min1 = Integer.MAX_VALUE, m…
PluginMonitor - Typecho 插件监控工具
为什么需要插件监控?
作为 Typecho 博客的站长,你是否遇到过以下困扰:插件过多导致性能下降:安装了太多插件,不知道哪些在拖慢网站速度
数据库臃肿:插件创建的数据表越来越多,数据库变得臃肿不堪
内存占用不明:…
LibreChat-图文并茂手把手教你搭建自己的AI机器人 Step-by-step guide to building your own chatbot
LibreChat是什么 | About LibreChatLibreChat是一个革命性的人工智能聊天机器人,采用了先进的技术,如OpenAI、GPT-4 Vision、Bing、Anthropic、OpenRouter、Google Gemini等。LibreChat完全开源,支持自托管,为用户…
NOISG 2025 Prelim
NOISG 2025 Prelim
评分 \(\in[0,10]\)。
https://www.luogu.com.cn/problem/list?type=luogu&page=1&tag=436|62
Train Or Bus
\(1\)。
\(\sum_{i=1}^n \min(a_i,b_i)\),原因显然。
Ducks And Buttons
\(2.…
LCR 129. 字母迷宫
LCR 129. 字母迷宫
LCR 129. 字母迷宫参考题解:灵神题解解题思想
首先我们知道该题需要枚举i=0,1,2,...,n-1,j = 0,1,2,3,...,m-1,以(i,j)为起点开始搜索
同时我们还需要知道target匹配到了哪个字符,定义一个记录参…
先进反应堆:BWRX-300
先进反应堆:BWRX-300
在众多小型模块化反应堆(SMR)的技术路线中,由GE Vernova(GE公司在2022年被拆分为3个公司,其中能源板块改名为 GE Vernova)和日立(Hitachi)的合资企业GVH(GE Hitachi Nuclear Energy)开…