类型错误:将csv加载到表时,来自反序列化程序的字符串而不是int

时间:2015-06-05 03:41:30

标签: csv hive

我是樱桃。我想将csv加载到表中。

add jar /home/hadoop/csv-serde.jar;
create database IF NOT EXISTS test;
use test;
CREATE TABLE IF NOT EXISTS test.neighbors(
    objID bigint ,
    NeighborObjID bigint ,
    distance float ,
    type smallint ,
    neighborType smallint ,
    mode tinyint ,
    neighborMode tinyint) row format serde  'com.bizo.hive.serde.csv.CSVSerde';

但要描述邻居:

objid   string  from deserializer
neighborobjid   string  from deserializer
distance    string  from deserializer
type    string  from deserializer
neighbortype    string  from deserializer
mode    string  from deserializer
neighbormode    string  from deserializer

所有属性都变为“来自反序列化器的字符串”而不是int或float。

        objID bigint ,
        NeighborObjID bigint ,
        distance float ,
        type smallint ,
        neighborType smallint ,
        mode tinyint ,
        neighborMode tinyint

这就是我想要的。我想将csv加载到邻居。

1 个答案:

答案 0 :(得分:1)

使用

行格式删除字段由','终止 存储为文本文件;

投入

行格式serde' com.bizo.hive.serde.csv.CSVSerde'