Hive unbase64()函数的结果在Hive表中是正确的,但在输出文件中出错

时间:2017-12-08 07:23:02

标签: hadoop hive apache-spark-sql

有两个问题:

  1. 我使用Hive处理数据,SparkSQLPresto中的输出完全正确。但在hdfs中,它显示:
  2. enter image description here

    1. 然后我将数据插入本地路径和insert overwrite directory '/tmp/ssss' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select * from tmp_ol.aaa; ,两个输出文件中的数据都是错误的:
    2. enter image description here

      我用来插入数据的代码:

      hive

      我的问题是: 1.为什么处理后的数据可以在SparkSQLPresto中正确显示,但utf-8?我机器上的Presto可以显示这种角色。

      1. 为什么数据无法在输出文件中正确显示?文件格式为{{1}}。

1 个答案:

答案 0 :(得分:0)

您可以尝试在unbase64()函数的输出上使用CAST(AS STRING)。

spark.sql("""Select CAST(unbase64('UsImF1dGhvcml6ZWRSZXNvdXJjZXMiOlt7Im5h') AS STRING) AS values FROM dual""").show(false)```