尝试将CS​​V导入配置单元时出现文件格式异常

时间:2018-03-30 16:55:15

标签: csv hive

我有一个具有以下结构的Hive表:

app_id                  string                                      
platform                string                                      
app_name                string                                      
developer_name          string                                      
rating                  double                                      
category_csv            string                                      
num_ratings             bigint                                      
num_recommendations     bigint                                      
num_downloads           bigint                                      
size_mbs                double                                      
price                   double                                      
in_app_purchase_confidence  double                                      
content_maturity        string                                      
badges_csv              string                                      
bundle_id               string                                      
rfi_brand_rating        string                                      
category_id_csv         string                                      
country_code            string                                      
permissions             string

我正在尝试将以下一行CSV导入其中(其中包含制表符分隔值):

1000011509  IOS Emily+Grows+Up+-+Journey+from+Birth+to+Adulthood    Ninjafish+Studios   Games,Role-Playing,Family   0   0   0   0   59  0   1   4+  iosUniversal    com.ninjafishstudios.emilygrowsup       6014,7014,7009  MY  abc

我使用以下命令:

hive -e "LOAD DATA LOCAL INPATH '/home/usernamehere/a0/a1/new' OVERWRITE INTO TABLE mobile_repo;"

但我得到以下例外:

  

异常错误的文件格式失败。请检查文件的格式。       18/03/30 12:05:39 ERROR exec.Task:异常错误的文件格式失败。请检查文件的格式。       org.apache.hadoop.hive.ql.metadata.HiveException:文件格式错误。请检查文件的格式。

有人可以告诉我这是什么问题吗?

编辑:我尝试导入的表是使用以下命令创建的:

CREATE TABLE mobile_repo (app_id string, platform string, app_name string, developer_name string, rating double, category_csv string, num_ratings bigint, num_recommendations bigint, num_downloads bigint, size_mbs double, price double, in_app_purchase_confidence double, content_maturity string, badges_csv string, bundle_id string, rfi_brand_rating string, category_id_csv string, country_code string, permissions string);

1 个答案:

答案 0 :(得分:0)

在创建表时指定分隔符,这样当您从文件中echo strcspn( 'That will be $2.95 with a coupon.' , '0123456789' ); // 14 echo strcspn( '12 people said yes' , '0123456789' ); // 0 echo strcspn( 'You are number one!' , '0123456789' ); // 19 数据时,它将被相应地解析。

load