【发布时间】:2016-03-07 17:53:00
【问题描述】:
是否可以通过在 Azure HDInsight 上运行的 Spark 应用程序执行此操作?我们正在使用 Scala。
支持 Azure Blob(通过 WASB)。我不明白为什么没有 Azure 表。
提前致谢
【问题讨论】:
标签: azure apache-spark azure-storage azure-hdinsight
是否可以通过在 Azure HDInsight 上运行的 Spark 应用程序执行此操作?我们正在使用 Scala。
支持 Azure Blob(通过 WASB)。我不明白为什么没有 Azure 表。
提前致谢
【问题讨论】:
标签: azure apache-spark azure-storage azure-hdinsight
您实际上可以从 Spark 中的表存储中读取数据,这是一个由 Microsoft 人员完成的项目:
您可能不需要所有 Hive 的东西,只需要根级别的类:
你可以这样阅读:
import org.apache.hadoop.conf.Configuration
sparkContext.newAPIHadoopRDD(getTableConfig(tableName,account,key),
classOf[AzureTableInputFormat],
classOf[Text],
classOf[WritableEntity])
def getTableConfig(tableName : String, account : String, key : String): Configuration = {
val configuration = new Configuration()
configuration.set("azure.table.name", tableName)
configuration.set("azure.table.account.uri", account)
configuration.set("azure.table.storage.key", key)
configuration
}
您必须编写一个解码函数来将您的 WritableEntity 转换为您想要的类。
它对我有用!
【讨论】:
目前不支持 Azure 表。只有 Azure Blob 支持 Hadoop 和 Spark 所需的 HDFS 接口。
【讨论】: