hadoop - 如何在 Hive 中存储特殊字符?

标签 hadoop apache-spark hive parquet

我一直在玩弄 Spark、Hive 和 Parquet,我的 Hive 表中有一些数据,下面是它的样子(前面警告法语):

Bloqu� � l'arriv�e      NULL
Probl�me de connexion   Bloqu� en hub

显然这里有问题。

我所做的是:我将 teradata 表读取为带有 spark 的数据框,将其存储为 Parquet 文件,然后使用该文件将其存储到配置单元,这是我的创建表脚本:

CREATE TABLE `table`(
   `lib` VARCHAR(255),
   `libelle_sous_cause` VARCHAR(255),
   )
 STORED AS PARQUET
 LOCATION
   'hdfs://location';

我真的不知道是什么原因造成的,这可能是由 Teradata > parquet 或 Parquet > Hive 之间的某种特殊编码引起的,我不确定。

任何帮助将不胜感激,谢谢。

最佳答案

我想通了,解决方案是简单地使用 STRING 而不是 VARCHAR

CREATE TABLE `table`(
   `lib` STRING,
   `libelle_sous_cause` STRING,
   )
 STORED AS PARQUET
 LOCATION
   'hdfs://location';

关于hadoop - 如何在 Hive 中存储特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040129/

相关文章:

java - NoClassDefFoundError Joda DateTimeFormat在hadoop cloudera上使用aws-kinesis

java - MapReduce:java.lang.ClassCastException:类nyc311.NYC311_Writable at java.lang.Class.asSubclass(Class.java:3404)

hadoop - 如何用 Java 读取 Avro-Parquet 文件中的特定字段?

hadoop - Spark 在 yarn-cluster 上提交 - Hive 错误

hadoop - Neo4j Hadoop集成

hadoop - 查询返回非零代码 : 1, 导致 : hive configuration hive. root.logger 不存在

java - 使用 Hbase 运行 Hadoop 的平台

hadoop - 停止 Flume Agent

apache-spark - Spark中的元素和分区有什么区别?

python - Spark MLlib 决策树 : Probability of labels by features?