我有一个具有以下结构的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);
答案 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