为什么配置单元表返回空值

ujv3wf0j  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(184)

我将其编码为创建一个外部表:

CREATE EXTERNAL TABLE IF NOT EXISTS carss (
> maker STRING,
> model STRING,
> mileage FLOAT,
> manufacture_year INT, 
> engine_displacement FLOAT,
> engine_power STRING,
> body_type STRING,
> color_slug STRING,
> stk_year FLOAT,
> transmission STRING,
> door_count INT,
> seat_count INT,
> fuel_type STRING, 
> date_created DATE, 
> date_last_seen DATE,
> price_eur FLOAT)
> ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
> LOCATION '/BigData/Project2/'
> TBLPROPERTIES ("skip.header.line.count"="1", 'creator'='Janina', 'created_on'='2020-11-05', 'description'='dataset for classified Ads of cars in Germany and Czech Republic');

当我运行查询时,选择*from carss limit 1;它返回空值和奇怪的字符

hive> SELECT * FROM carss LIMIT 1;

好 啊��t型�;��9fu7z型�c�whqd公司��y�p�c��/�^�b�4���*克����ç�ǿn������y�z~>����ǘ�?�面向对象��ӿ��������r�������������ݷ����|������n����r����������o����������2}�����十=�ʗ����/�||;������9������߯�����z~:���~��\���/��㏟�vz)5个�5��_我�4��� �急诊室�>�o��d��我�o����տ�?d���?�o��d��1�_v�k�����?�小时����׿.��������|��<��ң^ w��十���c�������ӕ���s���法国元��j�fywp公司�.����十�s��t型��cm6le9型�^��j� 小时� 空时间:0.059秒,获取:1行配置单元>

zd287kbt

zd287kbt1#

你的档案在吗 /BigData/Project2/ 用utf-8编码?否则,在创建外部表时,可能需要指定基础文件的编码:

create external table carss 
     ...
  row format
      serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
      with serdeproperties("serialization.encoding"='WINDOWS-1252') 
  location
      ...

本文可能会有所帮助。

相关问题