mysql - Hive 订单不工作

标签 mysql hadoop hive hiveql

查询:

没有功能的列:

从表排序依据 ACCOUNTID 中选择ACCOUNTID

(以上查询在 HIVE 和 MYSQL 中都可以正常工作)

具有功能的列:

从表order by ACCOUNTID中选择concat('test_',ACCOUNTID)

在 mysql 中,上述查询工作正常。

在配置单元中,抛出以下异常

失败:SemanticException [错误 10004]: 行 1:59 无效的表别名或列引用“ACCOUNTID”: (可能的列名称是:_c0)

MySQL:

排序方式与函数中涉及的列配合良好

hive :

排序依据不适用于函数中涉及的列

临时解决方案:

从表 order by tempcolumn 中选择 concat('test_',ACCOUNTID) as tempColumn

是否有任何解决方案可以在不将列分配为 tempcolumn 的情况下使用?

注意:

我想要单独的串联结果(test_ACCOUNTID)..而不将 ACCOUNTID 公开为另一列

最佳答案

也许您还可以选择 accountid 列进行排序。

SELECT accountid,concat('test_',ACCOUNTID) from table order by accountid;

或者,将“concat('test_', accountid) ”重命名为 accountid,如下所示:

SELECT concat('test_',ACCOUNTID) accountid from table order by accountid;

关于mysql - Hive 订单不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27816800/

相关文章:

mysql - 这是解决sql中最低性能问题的好方法

hadoop - hive 表锁

scala - intelliJ运行中的 Spark :无法解析符号和标识符,但找到了字符串,并找到了 ';',但找到了 ')'

hadoop - 在 Hive 中连接多个表

hadoop - Dataproc HDFS 文件 URI

sql - 无法使用INSERT OVERWRITE DIRECTORY从HIVE表插入HDFS

python - Pandas 数据框类型 datetime64[ns] 在 Hive/Athena 中不起作用

MySQL 在不同行上进行条件选择

php - 使用phpMyAdmin在php中将用户添加到MySQL数据库

python - 可以自动将数据从 memcached 传输到 mysql DB 吗?