从Apache Hive插入表中

时间:2018-05-15 12:26:50

标签: hadoop hive

我是Apache Hive的新手。我已经在伪分布式模式下安装了Hadoop,之后又安装了Hive。然后我试图创建一个表,然后使用查询插入一些值。表创建没有问题,但在将值插入表时,进程会卡住。

这是查询:

hive> create table Students
    > (StudentID INT,
    > firstname VARCHAR(50),
    > LastName VARCHAR(50),
    > Gender Char(1),
    > Email VARCHAR(100));
OK
Time taken: 0.364 seconds

但是在插入值时:

hive> INSERT INTO Students
    > VALUES
    > (1,'Janani','Ravi','F','Janani@loonycorn.com'),
    > (2,'Swetha','Kollalapudi','F','Swetha@loonycorn'),
    > (3,'Navdeep','Singh','M','navdeep@loonycorn.com'),
    > (4,'Vitthal','Srinivasan','M','vitthal@loonycorn.com');
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = neron_20180515174044_74a1eaaa-5d42-4267-9261-ff66bd20e215
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1526382077653_0002, Tracking URL = http://neron-Latitude-3580:8088/proxy/application_1526382077653_0002/
Kill Command = /home/neron/ProgramFiles/Hadoop/hadoop-3.1.0/bin/hadoop job  -kill job_1526382077653_0002

我得到了这个结果,这个过程就在那里。

这是跟踪结果: Image

我做错了什么或者这有什么问题?

2 个答案:

答案 0 :(得分:0)

您不能直接插入这样的数据。您需要在蜂房中实现相同的其他几种方法。请参阅:this post

答案 1 :(得分:0)

首先,我认为您应该更正启动Hive时的警告。 出现此警告的原因是您没有正确配置Hive。在/ hive / conf目录中,您需要编辑hive-site.xml以使用不推荐使用的hive.execution.engine运行。

就我而言,我使用引擎Spark并将此行添加到文件hive-site.xml

hive-site.xml

<property> <name>hive.execution.engine</name> <value>spark</value> </property>

Hive 2.x使用SPARK或TEZ引擎执行&#34;复杂&#34;查询,如插入。 &#34;简单&#34;创建表格之类的查询不会使用此引擎运行,因此您在运行此查询时不会出现错误。

我不知道此步骤是否可以解决您的问题,但您需要在将来对此问题进行更正。