最近在 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() 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 可以运行的版本

-- 三人团奖学金表1
select
'200元奖学金' AS "卡券类型",
'线上H5' AS "渠道",
AS "总发放数量",
count(*) AS "总领取数",
count(*)/ AS "总领取率",
count(*) AS "总有效使用率"
from course.user_taste t1
join
analytics_db.hd_new_user_info t2
on
t1.taste_type=
and t1.quota=
and t1.status=
and t1.user_id = t2.user_id

hive 可以运行个的版本

-- 三人团奖学金表1
select
'200元奖学金' AS `卡券类型`,
'线上H5' AS `渠道`,
AS `总发放数量`,
count(*) AS `总领取数`,
count(*)/ AS `总领取率`,
count(*) AS `总有效使用率`
from course.user_taste t1
join
analytics_db.hd_new_user_info t2
on
t1.taste_type=
and t1.quota=
and t1.status=
and t1.user_id = t2.user_id

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

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

HIVE 乱码以及 HUE SQL 语句兼容性的记录(遇到应该会一直更新)的更多相关文章

  1. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  2. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  3. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  4. Yii查看(输出)当前页面执行的sql语句(log记录)

    在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下 ...

  5. 一条SQL语句求前面记录的平均值

    有算法要求如下: For (i=1,i<=10,i++) { ta[i] = (t[1] + t[2] + ... + t[i]) / i; } 用一条SQL语句实现它: 分别用表变量 @ta ...

  6. SQL语句 查询最新记录

    要求:SQL语句按ID以最新时间查询最新的一条记录 方法1: select * from (select *, ROW_NUMBER() over(partition by id order by u ...

  7. SQL语句分组获取记录的第一条数据的方法

    使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY CO ...

  8. SQL语句兼容性规范

    一.DDL兼容性规范(防止表结构变更后,原有的SQL执行报错)只能增加字段或修改字段长度(字段长度改大),不能修改字段名字和类型,不能删除字段不能删除表或者修改表名称 二.DML兼容性规范insert ...

  9. php开发中sql语句拼接示例(插入、查询、更新)

    1.插入语句 $sql="insert into Ad(AdClassID,AdType,AdTit,AdFileName,AdUrl,AShow,Addtime) values('&quo ...

随机推荐

  1. iOS 打包静态库.a文件(真机版 + 虚拟机)

    我们以打包IOS开发中封装的高地地图基础功能包 GDMap为例. 1>我们需要准备好需要打包的GDMap     2>接下来我们开始新建一个工程文件取名GDMap     3>删掉无 ...

  2. 【openshift】在Openshift上通过yaml部署应用

    在Openshift上通过yaml部署应用 1.通过直接执行yaml 通过如下命令直接执行 oc create -f nginx.yml nginx.yml apiVersion: v1 items: ...

  3. 将h5用HBuilderX打包成安卓app后,document.documentElement.scrollTop的值始终为0或者document.body.scrollTop始终为0

    let time = setInterval(() => { let scroll = document.documentElement.scrollTop || document.body.s ...

  4. Swift 4 中的泛型

    作为Swift中最重要的特性之一,泛型使用起来很巧妙.很多人都不太能理解并使用泛型,特别是应用开发者.泛型最适合libraries, frameworks, and SDKs的开发.在这篇文章中,我将 ...

  5. 【亲测有效】安装npm慢的解决方案

    使用淘宝的NPM库:npm install -gd express --registry=http://registry.npm.taobao.org

  6. sublime的package control的中文镜像

    参加: http://packagecontrol.cn/installation

  7. 《Clean Code》读书笔记——第二周

    本周我阅读了<Clean Code>. “神在细节中!”,建筑家范德罗如是说.他当然专注于基于宏伟构架之上的永恒建筑形式,他也同样为自己设计的建筑挑选门把手.同样软件开发也是这样,小处见大 ...

  8. redis 异常 MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk

    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. 解决方 ...

  9. 【idea】scala&sbt+idea+spark使用过程中问题汇总(不定期更新)

    本地模式问题系列: 问题一:会报如下很多NoClassDefFoundError的错误,原因缺少相关依赖包 Exception in thread "main" java.lang ...

  10. [daily] ssh通过私钥导出公钥

    在使用key方式登录ssh服务的时候,我们知道ssh key是使用公钥ssh-keygen工具生成的. 有时候,我们只保存了私钥,但是并没有保存公钥.这个时候,可以使用如下方法,   从私钥中将公钥导 ...