sql - 组织.Apache.calcite.runtime.CalciteException : Failed to encode '全国' in character set 'ISO-8859-1'

标签 sql hive encode

select
t1.city_name
from
(
        select
        '全国' as city_name
        from
        stg.t_vip

        union all

        select
                cc.city_name
        from
                stg.t_city_config cc
        join
                stg.t_vip v
        on
                v.city_id = cc.city_id
) t1
full join
(
 select
 '全国' as city_name
   from
     stg.t_vip_trade
 ) t2
on
t1.city_name = t2.city_name;

select
t1.city_name
from
(
        select
        '全国' as city_name
        from
        stg.t_vip

        union all

        select
                cc.city_name
        from
                stg.t_city_config cc
) t1
full join
(
 select
 '全国' as city_name
   from
     stg.t_vip_trade
 ) t2
on
t1.city_name = t2.city_name;

为什么第二个 SQL 正常,而第一个 SQL 出现错误:

Failed to encode '全国' in character set 'ISO-8859-1'

最佳答案

可以添加这样的代码:

System.setProperty("saffron.default.charset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME); System.setProperty("saffron.default.nationalcharset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME); System.setProperty("saffron.default.collat​​ion.name",ConversionUtil.NATIVE_UTF16_CHARSET_NAME + "$en_US");

关于sql - 组织.Apache.calcite.runtime.CalciteException : Failed to encode '全国' in character set 'ISO-8859-1' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33888393/

相关文章:

Mysql JOIN表并更新2列信息

mysql - 如何比较mysql的大表

sql - HiveQL:如何删除基于两列的重复行

c# - 为什么 LinqToEntities Skip/Take oracle 实现如此缓慢

mysql - 什么是 DBMS 中的 'CONJUGATE KEY'

hadoop - 适用于CCA175的Sqoop/Hive:获取表AlreadyExistsException

json - 能够使用JSON对象创建Hive表,但并非所有对象都被捕获到各自的属性中

c# - json 编码的自定义替换未按预期输出双引号

Perl:将二进制数编码为base64

tensorflow - 如何将编码的 jpeg 作为字节写入 Tensorflow tfrecord 然后读取它?