Hadoop 蜂巢/黑斑羚写入HDFS

Hadoop 蜂巢/黑斑羚写入HDFS,hadoop,hive,hue,Hadoop,Hive,Hue,在Hue上,我可以使用Hive或Impala编写查询: SELECT * FROM database.tablename LIMIT 10 显示输出,我可以单击“导出数据”并将其作为拼花地板存储在我的hdfs文件夹user/username/mytestfolder。我想从配置单元脚本导出,并尝试了以下版本: INSERT OVERWRITE DIRECTORY '/user/username/mytestfolder' ROW FORMAT DELIMITED FIELDS TERMINAT

在Hue上,我可以使用Hive或Impala编写查询:

SELECT * FROM database.tablename LIMIT 10
显示输出,我可以单击“导出数据”并将其作为拼花地板存储在我的hdfs文件夹
user/username/mytestfolder
。我想从配置单元脚本导出,并尝试了以下版本:

INSERT OVERWRITE DIRECTORY '/user/username/mytestfolder'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS PARQUET
SELECT * FROM database.tablename
LIMIT 10;

但编译语句时,它总是返回一个错误
错误:失败:SemanticException错误在上创建临时文件夹:hdfs://bdp01cdhc01-ns/user/username

我不认为插入覆盖目录是您想要的

您可以使用
createtable AS SELECT
语句在所需的位置创建一个表

CREATE TABLE x
STORED AS PARQUET
LOCATION '/user/username/mytestfolder'
AS SELECT * FROM database.tablename LIMIT 10;
创建类似database.tablename位置“path”的外部表x,然后从另一个表插入
INSERT

但是,HDFS不应该用来存储这样小的文件(只有10行)


此外,这些文件用于文本文件,没有拼花的上下文

ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'

或者,如果您有Spark或Pig可用,这还可以让您将配置单元外的表保存到备用HDFS位置

字段以“\t”结尾
——这不适用于拼花地板:
存储为拼花地板
编译语句时,我收到以下错误
错误:失败:SemanticException 0:0错误在上创建临时文件夹:hdfs://bdp01cdhc01-ns/user/username/mytestfolder. 在标记“TOK_TMP_文件”附近遇到错误
您使用了什么查询?您的查询用户是否具有在该位置修改或创建目录的权限?如果在查询编辑器中运行查询,
SELECT*FROM database.tablename LIMIT 10
,则查询本身可以工作。现在,用户(我?)在这个目录中拥有权限,我直接使用Hue用户界面创建了
mytestfolder
文件夹。我可以从那个位置上传、下载、删除文件,查询可以通过两种不同的方式运行。。。要么用CTA,要么用INSERT,那是哪一种?而配置单元本身也有用户模拟的设置,可能需要在色调中专门配置以通过用户名,否则所有查询都将在某个通用色调用户下运行,我想。我现在正在寻找一个选项在色调有蜂巢模拟我。