sql - 如何获取 Hive 中字符串使用的文本字节?
问题描述
我在 Hive 1.2.1 表中有一些数据。我必须获取特定列的原始字节。列数据是多种语言的 html 原始数据。为了获得字符的长度,我可以使用如下的简单查询
select baseurl, LENGTH(content) from clss limit 30;
上面的查询对于字符长度是可以的,问题是对于其他是英文的文本,它们的值不正确。对于阿拉伯语中的字符,它被保存为 unicode,这就是更改字符长度的原因。有些字符是两个字节,有些是单字节。
是否有任何内置函数可以知道文本字节而不是字符?
解决方案
character_length(string str)
在 Jira HIVE-15979中添加了功能,它说修复版本 2.3.0。如果您无法升级您的 Hive(这很冒险),请尝试下载 UDF 源代码并构建它,然后添加 jar 并创建临时函数。
推荐阅读
- python - py2app 和 Pyside2 5.15 失败
- google-cloud-platform - Terraform GCP - 等待设置使用导出存储桶时出错。:“gcp-bucket”需要“读取”权限
- javascript - 可以选择相同的日期,只有时差
- node.js - 如何将图像从 Vue 发送到 Node ( Express ) 并将其存储在 AWS S3 存储桶中?
- python - ValueError:无法将大小为 0 的数组重塑为形状 (224,512) - 绘制热图以定位图像中的异常
- ios - 单击单元格并转到其他视图控制器时应用程序崩溃
- javascript - 输入值返回未定义
- python - 如何在python中获取鼠标点击乌龟屏幕的坐标?
- php - 比较日期并在PHP中显示剩余的到期日期
- javascript - 无法在 DOM javascript 中更改图像源