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
配置单元分区表移动到另一个数据库 我已经从HIVE终端创建了两个数据库DB1和DB2。 使用DB1运行并创建了ORC格式的表T1,该表的分区为年、月和日期,并加载了一些记录。 使用DB2运行,在那里我使用DDL脚本创建了ORC格式的表T2,它的结构与DB1.T1相同。 我在DB2.T2中插入了一些记录,以便在HDFS-Hive仓库中为分区创建一些目录结构。 我运行了Hadoop fs-cp/apps/hive/warehouse/DB1.db/T1/*/apps/hive/warehouse/DB2.db/T2 它复制了文件并在/apps/hi../DB2.T2中构建剩余的目录结构。_Hadoop_Hive - Fatal编程技术网

配置单元分区表移动到另一个数据库 我已经从HIVE终端创建了两个数据库DB1和DB2。 使用DB1运行并创建了ORC格式的表T1,该表的分区为年、月和日期,并加载了一些记录。 使用DB2运行,在那里我使用DDL脚本创建了ORC格式的表T2,它的结构与DB1.T1相同。 我在DB2.T2中插入了一些记录,以便在HDFS-Hive仓库中为分区创建一些目录结构。 我运行了Hadoop fs-cp/apps/hive/warehouse/DB1.db/T1/*/apps/hive/warehouse/DB2.db/T2 它复制了文件并在/apps/hi../DB2.T2中构建剩余的目录结构。

配置单元分区表移动到另一个数据库 我已经从HIVE终端创建了两个数据库DB1和DB2。 使用DB1运行并创建了ORC格式的表T1,该表的分区为年、月和日期,并加载了一些记录。 使用DB2运行,在那里我使用DDL脚本创建了ORC格式的表T2,它的结构与DB1.T1相同。 我在DB2.T2中插入了一些记录,以便在HDFS-Hive仓库中为分区创建一些目录结构。 我运行了Hadoop fs-cp/apps/hive/warehouse/DB1.db/T1/*/apps/hive/warehouse/DB2.db/T2 它复制了文件并在/apps/hi../DB2.T2中构建剩余的目录结构。,hadoop,hive,Hadoop,Hive,问题是,DB2.T2中的select count并没有返回从DB1.T1复制的最新记录 有人能解释一下背后的原因吗? 它适用于普通文本格式的表格 谢谢 Abhi为了更快地获得记录计数等统计信息,HIVE现在从元数据中获取数据,元数据在插入过程中更新。唯一的例外是元数据没有填充计数。若要手动向配置单元表添加分区或文件,请确保运行如下所示的分析命令 analyze table t [partition p] compute statistics for [columns c,...]; 另外,如果

问题是,DB2.T2中的select count并没有返回从DB1.T1复制的最新记录

有人能解释一下背后的原因吗? 它适用于普通文本格式的表格

谢谢


Abhi

为了更快地获得记录计数等统计信息,HIVE现在从元数据中获取数据,元数据在插入过程中更新。唯一的例外是元数据没有填充计数。若要手动向配置单元表添加分区或文件,请确保运行如下所示的分析命令

analyze table t [partition p] compute statistics for [columns c,...];
另外,如果不是通过配置单元命令在外部手动添加分区,请运行repair table命令

MSCK REPAIR TABLE table_name;
or 
ALTER TABLE table_name RECOVER PARTITIONS;

你能一个命令一个命令地显示你所运行的内容吗。创建数据库DB1;2.使用DB1;3.创建表e1名称字符串,按年份int、月份int、日期int、id int分区存储为orc;4.在表e1中插入partitionyear,month,day,site_id,从master中选择name,year,month,day,id;5.创建DB2数据库;6.使用DB2;7.创建表e_弧名称字符串,按年份int、月份int、日期int、id int划分,存储为orc;8.haddop fs-cp/apps/hive/warehouse/db1.db/e1/*/apps/hive/warehouse/db2.db/e_arc/9。select*from e_arc返回空值。普通表格使用这些步骤。