从Azure SQL数据仓库查询Hadoop ORC表
从Azure SQL数据仓库读取Azure HDInsight中创建的ORC表时遇到问题。请参阅下面我设置HDInsight实例和Azure SQL数据仓库所遵循的顺序从Azure SQL数据仓库查询Hadoop ORC表,azure,hadoop,orc,azure-sqldw,Azure,Hadoop,Orc,Azure Sqldw,从Azure SQL数据仓库读取Azure HDInsight中创建的ORC表时遇到问题。请参阅下面我设置HDInsight实例和Azure SQL数据仓库所遵循的顺序 我创建了一个文本文件(Sales.txt),内容如下 20150614 | 1 | 10.50 20150618 | 1 | 100.75 20150924 | 1 | 89.75 20160214 | 2 | 10456.90 20150922|3|34.70 20151021 | 3 | 43.70 20151225 | 3
20150618 | 1 | 100.75
20150924 | 1 | 89.75
20160214 | 2 | 10456.90
20150922|3|34.70
20151021 | 3 | 43.70
20151225 | 3 | 65.90
20151231|3|87.50
20160101 | 4 | 1349.40
20160512 | 4 | 3982.40
20150608 | 5 | 398.90
20150929 | 5 | 981.80
20151225 | 5 | 482.80
20151231 | 5 | 289.60
20160214 | 5 | 688.50
20160531 | 5 | 682.80
hadoopdb
CREATE EXTERNAL TABLE IF NOT EXISTS hadoopdb.salestxt
(
salesdate int,
productid int,
salesamt float
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
lines terminated by '\n' STORED AS TEXTFILE
LOCATION 'wasbs:///<myclustercontainer>@<mystorageaccount>.blob.core.windows.net/Sales.txt';
CREATE EXTERNAL TABLE IF NOT EXISTS hadoopdb.salestxt
(
salesdate int,
productid int,
salesamt float
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
lines terminated by '\n' STORED AS TEXTFILE
LOCATION 'wasbs:///<myclustercontainer>@<mystorageaccount>.blob.core.windows.net/Sales.txt';
插入覆盖表hadoopdb.salesorc
从hadoopdb.salestxt中选择*从hadoopdb.sales中选择*
CREATE EXTERNAL DATA SOURCE ORCAzureStorage WITH
(
TYPE = HADOOP,
LOCATION = 'wasbs://<myclustercontainer>@<mystorageaccount>.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential
[hdp]
CREATE EXTERNAL TABLE [hdp].FactSales
(
salesdate int,
productid int,
salesamt float
)
WITH
(
LOCATION ='/Sales.txt',
DATA_SOURCE = ORCAzureStorage ,
FILE_FORMAT = ORCdefault
);
我遗漏了什么吗?Azure SQL DW当前不支持查询HDF。您需要将数据移动到Windows Azure存储Blob。 这有一个教程 谢谢!
CaseyAzure SQL DW当前不支持查询HDF。您需要将数据移动到Windows Azure存储Blob。 这有一个教程 谢谢!
凯西谢谢凯西。我看了你分享的链接。然而,它并没有谈论任何关于兽人的事情。文件格式为TextFileFormat,而不是ORC。我还将沙盒实现更改为HDInsight。问题现在已更新,以反映从HDFS到Azure Blob的更改。你能看一下吗?谢谢,凯西。我看了你分享的链接。然而,它并没有谈论任何关于兽人的事情。文件格式为TextFileFormat,而不是ORC。我还将沙盒实现更改为HDInsight。问题现在已更新,以反映从HDFS到Azure Blob的更改。您能看一下吗?您的外部表位置末尾缺少一个“/”使其成为
location='/Sales.txt/'
您的外部表位置末尾缺少一个“/”使其成为location='/Sales.txt/'
CREATE EXTERNAL TABLE [hdp].FactSales
(
salesdate int,
productid int,
salesamt float
)
WITH
(
LOCATION ='/Sales.txt',
DATA_SOURCE = ORCAzureStorage ,
FILE_FORMAT = ORCdefault
);