Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc hadoop蜂巢问题_Jdbc_Hadoop_Hive - Fatal编程技术网

Jdbc hadoop蜂巢问题

Jdbc hadoop蜂巢问题,jdbc,hadoop,hive,Jdbc,Hadoop,Hive,我试图使用JDBC实用地创建表。但是,我无法真正看到我从蜂巢外壳创建的表。更糟糕的是,当我从不同的目录访问配置单元外壳时,我会看到数据库的不同结果。 是否需要配置任何设置 提前感谢。尝试向Hive用户列表或IRC频道发送电子邮件 您可能需要设置中央配置单元元存储(默认情况下为Derby,但它可以是mySQL/Oracle/Postgres)。元存储是Hive和HDFS之间的“粘合剂”。它告诉Hive您的数据文件在HDFS中的位置,它们包含什么类型的数据,它们属于什么表,等等 有关更多信息,请参见

我试图使用JDBC实用地创建表。但是,我无法真正看到我从蜂巢外壳创建的表。更糟糕的是,当我从不同的目录访问配置单元外壳时,我会看到数据库的不同结果。 是否需要配置任何设置


提前感谢。

尝试向Hive用户列表或IRC频道发送电子邮件

您可能需要设置中央配置单元元存储(默认情况下为Derby,但它可以是mySQL/Oracle/Postgres)。元存储是Hive和HDFS之间的“粘合剂”。它告诉Hive您的数据文件在HDFS中的位置,它们包含什么类型的数据,它们属于什么表,等等


有关更多信息,请参见检查hadoop日志。对我来说,这发生在我的hadoop系统没有正确设置的时候。namenode无法联系其他计算机上的datanodes等。

是的,这是由于元存储未正确设置所致。Metastore存储与配置单元表关联的元数据(例如表名、表位置、列名、列类型、bucketing/sorting信息、分区信息、SerDe信息等)


默认的元存储是一个嵌入式Derby数据库,在任何给定时间只能由一个客户机使用。对于大多数实际目的来说,这显然不够好。与大多数用户一样,您应该将配置单元安装配置为使用不同的元存储。MySQL似乎是一个流行的选择。我已使用Cloudera的网站成功配置了我的MySQL metastore。

请确保每次都从同一目录运行hive,因为当您第一次启动hive CLI时,它会在当前目录中创建metastore derby db。此derby DB包含配置单元表的元数据。如果更改目录,则配置单元表将具有无组织的元数据。此外,Derby DB无法处理多个会话。为了允许并发的配置单元访问,您需要使用一个真实的数据库来管理元存储,而不是它附带的小derbyDB。您可以为此下载mysql,并将jdbc连接的配置单元属性更改为mysql Type4纯java驱动程序