从qubole向配置单元表插入本地csv

yeotifhr  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(372)

我在本地机器上有一个csv,我通过quboleweb控制台访问hive。我试图上传csv作为一个新的表,但无法解决。我尝试了以下方法:

LOAD DATA LOCAL INPATH <path> INTO TABLE <table>;

我得到的错误是 No files matching path file 我猜csv必须在hive实际运行的某个远程服务器上,而不是在我的本地机器上。我看到的解决方案并不能解释如何处理这个问题。有人能帮帮我吗。这个?

ocebsuys

ocebsuys1#

首先,使用csv文件中的字段名在配置单元上创建一个表。您使用的语法似乎正确。使用以下语法创建表

CREATE TABLE foobar(key string, stats map<string, bigint>)
 ROW FORMAT DELIMITED
 FIELDS TERMINATED BY ','
 COLLECTION ITEMS TERMINATED BY '|'
 MAP KEYS TERMINATED BY ':' ;

然后使用下面的格式加载数据,然后正确地提到路径名

LOAD DATA LOCAL INPATH '/yourfilepath/foobar.csv' INTO TABLE foobar;
2jcobegt

2jcobegt2#

qubole允许您在云存储(s3或azure存储)上的数据上定义配置单元外部/托管表-因此从本地框加载不会起作用。您必须将其上载到云存储上,然后针对其定义一个外部表-

CREATE External TABLE orc1ext(
  `itinid` string, itinid1 string)
stored as ORC
LOCATION
  's3n://mybucket/def.us.qubole.com/warehouse/testing.db/orc1';

INSERT INTO TABLE orc1ext SELECT itinid, itinid 
FROM default.default_qubole_airline_origin_destination LIMIT 5;

相关问题