首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql导入数据到德鲁伊

从mysql导入数据到德鲁伊
EN

Stack Overflow用户
提问于 2014-01-17 16:02:49
回答 2查看 4.8K关注 0票数 6

我一直使用mysql来存储和查询我所有的数据。但由于现在表的大小变得如此之大,有时需要几个小时才能得到结果。我已经采取了所有可能的措施,比如优化查询和正确地为表建立索引。

所以我一直在考虑使用德鲁伊。我之前没有和德鲁伊合作过。我想我必须把所有的表,数据从mysql导入到德鲁伊。我不明白我应该从哪里开始。因此,如果有人能给我任何形式的指导,我将不胜感激。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-02-06 13:01:47

首先请注意,Druid接收时间序列数据,因此数据的每一行都必须有一个时间戳。如果可能,请继续阅读。

输出您的数据到CSV或TSV。这是批处理摄取支持的两种格式。因此,您的数据将如下所示:

2013-08-31T01:02:33Z,"someData","true","true","false","false",57,200,-143

2013-08-31T03:32:45Z,"moreData","false","true","true","false",459,129,330

...

然后,您可以创建一个包含firehose部分的index task,您可以在其中指定文件的位置、格式和列:

代码语言:javascript
复制
"firehose" : {
   "type" : "local",
   "baseDir" : "my/directory/",
   "filter" : "my.csv",
   "parser" : {
     "timestampSpec" : {
       "column" : "timestamp"
     },
     "data" : {
       "type" : "csv",
       "columns" : ["timestamp","data1","data2","data3",...,"datan"],
       "dimensions" : ["data1","data2","data3",...,"datan"]
     }
   }
 }

请注意对时间戳列的特殊处理。

现在运行索引服务( Druid docs包含如何启动集群所需的信息),并按照Batch Ingestion Using the Indexing Service小节中的说明将任务提供给它。数据将被摄取并处理到您可以查询的Druid片段中。

票数 9
EN

Stack Overflow用户

发布于 2015-08-05 11:32:28

首先,我不认为druid更适合作为存储,当我们说它是一个实时查询和处理工具时,它更准确。此外,我更喜欢使用mysql组合来取代您的hive+hdfs,因为您的表的大小不断增加。更重要的是,德鲁伊可以将hdfs作为其深层存储

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21180739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档