最近在 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. 自定义 Generate POJOs.groovy

    一.Generate文件 import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKi ...

  2. wpf Log4net的配置和使用

    现在项目涉及的是cs客户端,在项目中使用log4net记录本地日志和异常信息,这里项目做完了,想着自己做一个demo,测试记录一下log4Net的配置使用. 第一步.新建一个wpf应用程序,项目右键 ...

  3. quartz 定时器执行

    类存储job信息 public class JobInfo {//省略setter getter String jobName; String jobGroup; Class<? extends ...

  4. Linux网卡上添加多个IP

    1.查看现有网卡ip addr show看到ens_xxx 2.进入网卡配置项cd /etc/sysconfig/network-scripts/vim ifcfg-ens192末尾添加2行:IPAD ...

  5. mac安装openjdk8-maven-mysql-git-docker

    1. openjdk8安装命令查看地址:https://github.com/AdoptOpenJDK/homebrew-openjdk#other-versions   感觉上面命令地址不靠谱,还是 ...

  6. Linux命令——dmesg

    参考:Linux kernel buffer ring Linux dmesg Command Tutorial for Beginners (5 Examples) 7 ‘dmesg’ Comman ...

  7. CentOS 7.x 配置静态 IP 并启用

    centos 7.x 配置静态 IP 并启用 0 问题由来 通过查询本机的IP,发现本机并没有有效IP: [pan@localhost ~]$ ip addr 所以,我们需要设置本机的静态IP,并启用 ...

  8. 2013.5.23 - KDD第三十五天

    看完睡不觉得世间有点虚度,然后就构思了一下带带回儿去找中秋要跟她说的事情,大概就是这样的:   我 打算用paper来计算人与人之间的距离,比如说我跟郑茂和写过一篇文章,然后郑茂根韩冰和写过一篇文章, ...

  9. node-images 进行图片压缩

    前置条件:先安装images npm install images 编写代码 思路: 从指定文件夹遍历图片,执行压缩,压缩完成后放到指定文件夹中,并保持图片名无变化. var images = req ...

  10. jenkins+ant+jmeter接口自动化的持续集成

    一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...