我有很多数据文件最终会定期推送并存储在 Azure 存储/数据湖上。我想提供对此数据进行分析的能力,但后来我发现在 Azure 上有两种方法:
- U-SQL / Azure 数据湖查询(可视化???)
- 在 Azure 和 Zeppelin 上使用 Spark 的 Spark SQL
有人可以建议我何时使用这种方法中的哪一种?在我看来,两者都可以完成类似的工作。
我有很多数据文件最终会定期推送并存储在 Azure 存储/数据湖上。我想提供对此数据进行分析的能力,但后来我发现在 Azure 上有两种方法:
有人可以建议我何时使用这种方法中的哪一种?在我看来,两者都可以完成类似的工作。
您可以将 U-SQL 视为 Microsoft 的 Spark SQL 版本,您可以在其中编写 SQL Server 样式的 SQL 并使用 C# 中的用户定义函数进行扩展。使用 Spark 时,您可以使用 Semi MySQL 风格的 SQL 编写,并使用 Scala 或 Python 对其进行扩展。
如果您熟悉 Scala 或 Python,那么选择 HDInsight 可能是最佳选择。Spark 附带 GraphX 和 MLLib,目前在 Data Lake Analytics 中没有类似物。此外,如果您需要在 Azure 之外运行的东西,那么 SparkSQL 是您唯一的选择。
另一个需要考虑的重要方面是定价。Data Lake Analytics 只在查询执行时花钱,但只要集群在运行,HDInsight 就会花钱。根据数据的大小和查询的复杂性,Data Lake Analytics 的成本可能会更低,因为在配置时不会向您收费。