查询配置单元处理的大量数据



假设我在HDFS中有大约10-20GB的数据作为配置单元表。这是在两个独立的数据集上进行了多次Map Reduce作业和JOIN之后获得的。我需要让这个可查询的用户。我有什么选择?

  1. 使用Sqoop将数据从HDFS传输到类似Postgresql的RDS。但我想避免在数据传输上花费太多时间。我刚刚用Sqoop在同一个AWS区域测试了HDFS->RDS,800mb的数据需要4-8分钟。所以你可以想象,大约60gb的数据将是非常难以管理的。这将是我的最后手段
  2. 根据用户请求直接从我的Web服务器查询配置单元。我从来没有像这样使用过蜂巢的首领,所以我对此持怀疑态度。这让我很震惊,因为我刚刚发现,在EMR集群上进行一些端口转发后,您可以远程查询配置单元表。但作为大数据的新手,我不太确定与此相关的风险。这样做司空见惯吗
  3. 其他解决方案-人们通常是如何做这种事情的?这似乎是一项很常见的任务

为了完整起见,我的数据看起来是这样的:

id     time             cat1    cat2    cat3    metrics[200]
A123   1234212133        12     ABC      24      4,55,231,34,556,123....(~200)
.
.
.

(时间是历元)

我的查询如下:

select cat1, corr(metrics[2],metrics[3]),corr(metrics[2],metrics[4]),corr(metrics[2],metrics[5]),corr(metrics[2],metrics[6]) from tablename group by cat1;

需要相关函数,这就是为什么我选择postgresql而不是MySQL。

Hive:中有相关函数

corr(col1,col2)

返回组中一对数值列的Pearson相关系数。

您可以简单地通过odbc连接到hiveserver端口并执行查询。以下是一个示例:http://www.cloudera.com/content/cloudera/en/downloads/connectors/hive/odbc/hive-odbc-v2-5-10.html

Hive User Experience(hue)有一个Beeswax查询编辑器,专门用于向熟悉SQL的最终用户公开Hive。这样,他们就可以对Hive中的数据运行特别查询,而无需将其移动到其他位置。您可以在此处看到蜂蜡查询编辑器的示例:http://demo.gethue.com/beeswax/#query

这对你有用吗?

从上面发布的问题中,我可以理解的是,您有一些数据(20GB)存储在hdfs中并使用hive。现在,您想要访问这些数据来执行某种统计功能,如相关性和其他功能。

  • 配置单元中有执行关联的函数
  • 否则,您可以使用RHive直接将R连接到蜂窝,甚至可以使用数据源将excel连接到蜂窝
  • 另一个解决方案是安装hue,它带有配置单元编辑器,您可以直接查询配置单元

最新更新