是否可以从druid恢复Hadoop数据?

时间:2018-12-13 10:37:03

标签: hadoop hive druid

我错误地从Hadoop删除了数据。我在Druid中拥有这些数据,现在我想将这些数据从Druid还原到Hadoop,以避免进一步的数据恢复问题。

2 个答案:

答案 0 :(得分:0)

由于您可能拥有类似的元存储,请尝试在配置单元中创建cta,以从druid提取数据并将其存储在Hadoop位置。

答案 1 :(得分:0)

使用配置单元

创建一个由现有数据源支持的外部配置单元表,这将为您提供HDFS位置上配置单元中的所有数据。

CREATE EXTERNAL TABLE druid_table_1
STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler'
TBLPROPERTIES ("druid.datasource" = "<datasource_name>");

如果要存储任何特定格式,也可以为该DDL指定STORED AS属性。

您可以在这里找到有关Druid-Hive整合的更多详细信息:https://cwiki.apache.org/confluence/display/Hive/Druid+Integration

使用转储段

如果您要转储段的元数据/数据,则转储段实用程序在这里很有用。

java org.apache.druid.cli.Main tools dump-segment \
--directory /home/druid/path/to/segment/ \
--out /home/druid/output.txt

更多详细信息可以在这里找到: http://druid.io/docs/latest/operations/dump-segment.html

第二种方法适用于单个段,因此,如果要转储整个表或多个段,则需要编写一个小脚本以在该目录上递归运行此命令。