Azure 在未按预期工作的原始数据上创建配置单元架构

Azure 在未按预期工作的原始数据上创建配置单元架构,azure,hive,blob,hdfs,azure-hdinsight,Azure,Hive,Blob,Hdfs,Azure Hdinsight,我试图通过本教程自学HIVE并熟悉MicrsoftAzure上的HDInsight和HDFS 我已成功将数据暂存到HDFS上,现在使用AzurePowershell和Microsoft Azure HDInsight查询控制台在原始数据上创建配置单元架构 我试图使用下面的DDL语句创建表“price_data”: create external table price_data (stock_exchange string, symbol string, trade_date string, o

我试图通过本教程自学HIVE并熟悉MicrsoftAzure上的HDInsight和HDFS

我已成功将数据暂存到HDFS上,现在使用AzurePowershell和Microsoft Azure HDInsight查询控制台在原始数据上创建配置单元架构

我试图使用下面的DDL语句创建表“price_data”:

create external table price_data (stock_exchange string, symbol string, trade_date string, open float, high float, low float, close float, volume int, adj_close float) 
row format delimited 
fields terminated by ',' 
stored as textfile 
location '/nyse/nyse_prices';
blob文件位于容器“nyse”中,容器中的每个blob文件名为“nyse_prices/nyse_daily_prices.csv”

我已确保格式符合MSDN上的文档

当我运行上述查询时,它会成功执行并创建表

外部表必须指向基础文件,因此应使用每个csv文件中的数据填充

但是,当我运行查询时:

select count(*) from price_data 
它返回0。这是不对的。有人能告诉我我做错了什么吗


干杯

我认为您指定的位置可能不正确

您有一个默认容器,即在创建HDInsight容器时指定或创建的容器。例如,“mycontainer”。如果我将所有csv文件作为nyse_prices/filename.csv放在该容器中,那么我的位置将只是“/nyse_prices”。只是包含文件的目录。“容器”在本例中被视为根-“/”

如果文件不在默认容器中,或不在其他存储帐户上,则可以使用的位置为'wasb://container@storagename.blob.core.windows.net/nyse\u prices'

作为测试,我刚刚在默认容器上创建了nyse_prices/并将一些csv上传到其中。然后将查询修改为使用
location'/nyse_prices'并能够在之后对数据进行选择