是否可以通过Azure HDInsight上运行的Spark应用程序执行此操作?我们正在使用Scala。
支持Azure Blob(通过WASB)。我不明白为什么Azure Tables不是。
提前致谢
答案 0 :(得分:5)
你实际上可以从Spark中的Table Storage中读取,这是一个由微软人员完成的项目:
您可能不会需要所有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转换为您想要的类。
它对我有用!
答案 1 :(得分:3)
目前不支持Azure表。只有Azure blob支持Hadoop和Hadoop所需的HDFS接口。火花。