apache zeppelin和hive-创建后找不到临时表

hpxqektj  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(364)

我正在尝试在配置单元中创建一个临时表,如下所示:

%hive
create temporary table tmp3 as select field1, field2 from mytable

当我想查看表中的内容时

%hive
select * from tmp3

我明白了

Error while compiling statement: FAILED: SemanticException [Error 10001]: 

Line 1:14 Table not found 'tmp3'
class org.apache.hive.service.cli.HiveSQLException
org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:244)
org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:247)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:356)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:442)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

但是,如果我再次尝试创建临时表,我将得到

Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Temporary table default.tmp3 already exists)
class java.sql.SQLException
org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:283)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:356)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:442)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

因此,表的创建似乎以某种方式完成了,但我不知道在哪里。如果我尝试,table就不会出现 show tables in default .
有关信息:
hive.exec.temporary.table.storage=默认值
hive.scratch.dir.permission=700
hive.exec.local.scratchdir=/tmp/hive
hive.exec.scratchdir=/tmp/hive
我正在使用 hdp 2.5.0.0-1245 提前谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题