hue hive 转mysql null_HIVE 乱码以及 HUE SQL 语句兼容性的记录(遇到应该会一直更新)...

最近在 HUE 里面查询有中文字段相关的东西被报错警告。。。

(1366, Incorrect string value: \\xE4\\xBA\\xAC\\xE4\\xB8\\x9C... for column search at row 1)

通过调整 HUE 使用的某些元数据表的表编码来解决这个问题:

ALTER TABLE desktop_document2 modify column name varchar(255) CHARACTER SET utf8;

ALTER TABLE desktop_document2 modify column description longtext CHARACTER SET utf8;

ALTER TABLE desktop_document2 modify column search longtext CHARACTER SET utf8;

alter table beeswax_queryhistory modify `query` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

在书写在 MySQL 中能使用的语句的时候还遇到一些无法直接在 hive 或者 presto 中运行的兼容性问题。

例如:

presto 可以运行的版本

--三人团奖学金表1select

'200元奖学金' AS "卡券类型",'线上H5' AS "渠道",9000 AS "总发放数量",

count(*) AS "总领取数",

count(*)/9000 AS "总领取率",

count(*) AS "总有效使用率"

fromcourse.user_taste t1

join

analytics_db.hd_new_user_info t2

on

t1.taste_type=6and t1.quota=1and t1.status=1and t1.user_id= t2.user_id

hive 可以运行个的版本

--三人团奖学金表1select

'200元奖学金'AS `卡券类型`,

'线上H5'AS `渠道`,9000AS `总发放数量`,

count(*) AS `总领取数`,

count(*)/9000AS `总领取率`,

count(*) AS `总有效使用率`fromcourse.user_taste t1

join

analytics_db.hd_new_user_info t2

on

t1.taste_type=6and t1.quota=1and t1.status=1and t1.user_id= t2.user_id

MySQL 以上两个版本都可以运行,不得不佩服 MySQL 对 SQL 的语句兼容性和包容性真的非常好。

为了让 hive 和 presto 兼容得比较好,字符串最好都用 单引号引起来这个都没问题,as xxx 后面 hive 需要使用 ` ` 引起来。而  presto 需要使用双引号引起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值