我错误地从Hadoop删除了数据。我在Druid中拥有这些数据,现在我想将这些数据从Druid还原到Hadoop,以避免进一步的数据恢复问题。
答案 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
第二种方法适用于单个段,因此,如果要转储整个表或多个段,则需要编写一个小脚本以在该目录上递归运行此命令。