azure - Hadoop 与 MSSQL 报告的可能性

标签 azure hadoop hive hbase azure-hdinsight

我一直在 Azure HDInsight 上评估 Hadoop,以便为我们的报告应用程序找到大数据解决方案。该技术评估的关键部分是我需要与 MSSQL Reporting Services 集成,因为我们的应用程序已经使用了该服务。我们的开发人员资源非常短缺,因此我越能将其变成工程练习就越好。到目前为止我已经尝试过的事情

  • 使用从 MSSQL 映射到 HDInsight 上的 Hive 的 ODBC 连接。
  • 通过 HDInsight 上的 HBASE 使用来自 MSSQL 的 ODBC 连接。
  • 在 Azure HDInsight 远程桌面上本地使用 SPARKQL

我发现 HBASE 和 Hive 在我们的报告中使用起来要慢得多。对于测试数据,我使用了 60k 行的表,发现 MSSQL 上的报告运行时间不到 10 秒。我在 hive 查询控制台和 ODBC 连接上运行查询,发现执行时间超过一分钟。 Spark 速度更快(30 秒),但无法从外部连接到它,因为无法在 HDInsight 群集上打开端口。

大数据和 Hadoop 对我来说都是新事物。我的问题是,我是否正在寻找 Hadoop 来做一些它不适合做的事情?有没有办法让它更快?我考虑过缓存结果并定期刷新它们,但这听起来像是一场管理噩梦。 Kylin 看起来很有前途,但我们已经与 windows azure 结合得很好,所以我不确定这是否是一个可行的解决方案。

最佳答案

查看有关优化 Hive 查询的文档:https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-optimize-hive-query/

具体看看 ORC 和使用 Tez。我将创建一个默认启用 Tez 的集群,然后以 ORC 格式存储数据。那么你的查询应该会更加高效。

关于azure - Hadoop 与 MSSQL 报告的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743066/

相关文章:

hadoop - 在 spark 上执行 hive 查询 - java.lang.NoClassDefFoundError org/apache/hive/spark/client/Job

c# - Azure UDP 套接字限制?

hadoop - 将分区的数据插入分区的配置单元表

hadoop - hive中partitioning和bucketing的比较区别

hadoop - 在mapreduce期间在HBase表的另一行中查找具有特定列值的行

hadoop - 无法使用jdbcStorageHandler创建Hive外部表

datetime - Hive:如何将 yyyy-mm-ddThh:mm:SS:sssZ 转换为小时单位

azure - 使用 Terraform 更新 Azure KeyVault 的防火墙规则

Azure Web 应用程序性能测试

.net - 使用 Azure 缓存的访问被拒绝错误