我有一个关于hive和Presto之间的asyn数据的问题,我的步骤:
步骤1:通过hive jdbc检查分区
jdbc:hive2://127.0.0.1:10000> show partitions network;
+-------------------+--+
| partition |
+-------------------+--+
| dt=2017-10-20-11 |
| dt=2017-10-20-12 |
+-------------------+--+
2 rows selected (0.143 seconds)
步骤2:通过presto检查分区:
presto:default> show partitions from network;
dt
+---------------
2017-10-20-11
2017-10-20-12
(2 rows)
Query 20171023_043821_00022_3nugm, FINISHED, 1 node
Splits: 50 total, 50 done (100.00%)
0:00 [2 rows, 116B] [8 rows/s, 471B/s]
好的,现在分区数量相同。
步骤3:我通过命令
将新数据放入hive数据库String sql = "load data local inpath 'home/test/data1.txt' into table Network partition(dt='2017-10-20-10'";
stmt.execute(sql);
第4步:我通过hive jdbc再次检查我的分区
jdbc:hive2://127.0.0.1:10000> show partitions network;
+-------------------+--+
| partition |
+-------------------+--+
| dt=2017-10-20-10 |
| dt=2017-10-20-11 |
| dt=2017-10-20-12 |
+-------------------+--+
3 rows selected (1.887 seconds)
好了,现在创建了新的分区。
第5步:我通过Presto再次检查我的分区:
presto:default> show partitions from network;
dt
+---------------
2017-10-20-11
2017-10-20-12
(2 rows)
Query 20171023_043821_00022_3nugm, FINISHED, 1 node
Splits: 50 total, 50 done (100.00%)
0:00 [2 rows, 116B] [8 rows/s, 471B/s]
为什么我的新分区没有显示?
步骤6:我重新启动了hive Metastore并通过presto再次检查分区
presto:default> show partitions from network;
dt
+---------------
2017-10-20-11
2017-10-20-12
2017-10-20-10
(3 rows)
Query 20171023_044814_00026_3nugm, FINISHED, 1 node
Splits: 50 total, 50 done (100.00%)
0:00 [3 rows, 174B] [10 rows/s, 632B/s]
现在我的分区正在显示,为什么我需要重新启动hive Metastore?如果您有任何建议,请告诉我! 感谢