【发布时间】:2019-08-05 02:58:23
【问题描述】:
更新 1:
将hadoop的版本修改为2.x,但错误依旧。
原创:
我使用hive-testbench 将tpcds 测试数据生成到Ceph 中。
目前,数据位于存储系统根目录,文件夹tpcds。
例如hdfs dfs -ls /的结果是
drwxrwxrwx - root root 0 2019-08-05 10:44 /hive
drwxrwxrwx - root root 0 2019-08-05 10:44 /tmp
drwxrwxrwx - root root 0 2019-08-05 10:44 /tpcds
drwxrwxrwx - root root 0 2019-08-05 10:44 /user
drwxrwxrwx - root root 0 2019-08-05 10:44 /warehouse
s3cmd ls s3://tpcds 的结果是:
DIR s3://tpcds/hive/
DIR s3://tpcds/tmp/
DIR s3://tpcds/tpcds/
DIR s3://tpcds/user/
DIR s3://tpcds/warehouse/
对于s3cmd ls s3://tpcds,存储桶名称为tpcds。
当数据准备好后,接下来的设置是在Hive 中创建外部表以访问这些数据。我展示存储布局的原因是为了让你们确保我遇到的问题与路径无关。
使用的命令是hive -i settings/load-flat.sql -f ddl-tpcds/text/alltables.sql -d DB=tpcds_text_7 -d LOCATION=tpcds/7,但是我遇到了以下问题:
exec.DDLTask: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Exception thrown flushing changes to datastore)
at org.apache.hadoop.hive.ql.metadata.Hive.createDatabase(Hive.java:433)
at org.apache.hadoop.hive.ql.exec.DDLTask.createDatabase(DDLTask.java:4243)
对于堆栈版本:Hive 2.3.2、Hadoop 3.1.2。
目前,我这边最可能的原因是hadoop版本,我将把它降级到hadoop 2.7,看看是否会出现同样的错误。
同时,欢迎任何评论。提前感谢您的帮助。
【问题讨论】: