有可能从Druid恢复hadoop数据吗?

disho6za  于 2021-05-31  发布在  Hadoop
关注(0)|答案(2)|浏览(381)

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

sdnqo3pr

sdnqo3pr1#

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

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

如果要将其存储为任何特定格式,还可以将其指定为ddl的“存储为”属性。
你可以在这里找到更多关于DruidHive融合的细节:https://cwiki.apache.org/confluence/display/hive/druid+integration
使用转储段
如果您想转储段的元数据/数据,那么dump segment实用程序在这里很有用。

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

gfttwv5a

gfttwv5a2#

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

相关问题