Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Snowflake cloud data platform 拼花地板的外部暂存数据在雪花中返回NULL_Snowflake Cloud Data Platform_Snowflake Schema - Fatal编程技术网

Snowflake cloud data platform 拼花地板的外部暂存数据在雪花中返回NULL

Snowflake cloud data platform 拼花地板的外部暂存数据在雪花中返回NULL,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,各位,我在S3上有一个外部舞台,在那里存储拼花文件。 现在,我创建了一个表,名为T1\u D1: CREATE TABLE T1_D1(ID NUMBER(38,0), TRANSACTION_DATE TIMESTAMP_NTZ(9), PRODUCT VARCHAR(16777216)) 现在,我正在运行下面的脚本,以测试我加载的数据是否正确 select $1:ID::number, $1:PRODUCT::VARCHAR(16777216) from @my_s3/T1/day_2_

各位,我在
S3
上有一个外部舞台,在那里存储拼花文件。 现在,我创建了一个表,名为
T1\u D1

CREATE TABLE T1_D1(ID NUMBER(38,0),
TRANSACTION_DATE TIMESTAMP_NTZ(9),
PRODUCT VARCHAR(16777216))
现在,我正在运行下面的脚本,以测试我加载的数据是否正确

select 
$1:ID::number,
$1:PRODUCT::VARCHAR(16777216)
from @my_s3/T1/day_2_sales.parquet
(file_format => my_parq)    
它成功返回
ID
编号,而产品在所有行中返回为
NULL
。 我甚至尝试使用transaction date列运行,但同样的问题仍然存在。(即)
ID
匹配并正确返回数据,但时间戳值抛出我
NULL

$1:ID::NUMBER,$1:TRANSACTION\u DATE::TIMESTAMP\u NTZ(9)1,2,3,6,7,8,9,6,7,8,9,10,11,

作为附加步骤,我在源拼花文件上使用了AWS crawler,它为我提供了下表的模式,如下所示


1id:bigint2transaction\u日期:string3产品:string

我试验过的东西如下

  • 首先,我尝试使用单个列进行测试,即尝试使用以下查询打印ID,以及PRODUCT
从@my\u s3/T1/day\u 2\u sales.parquet(文件格式=>my\u parq)中选择$1:ID::number,$1:PRODUCT::VARCHAR(16777216)

  • 因此,我使用了AWS爬虫来查找源模式的数据类型,并相应地编写了雪花查询。通过更改雪花中的数据类型。但它仍然返回NULL

  • 然后我发现,源拼花地板文件中列的命名约定不合适。i、 e目标列“ID”在源系统中被命名为“ID”,但在源拼花地板文件中,as“PRODUCT”被命名为“PRODUCT”。而交易日期被命名为交易日期

  • 下面的查询成功运行


从@my\u s3/T1/day\u 1\u sales.parquet(file\u format=>my\u parq)中选择$1:ID::number、$1:Transaction\u date::timestamp、$1:Product::varchar(文件格式=>my\u parq)

您是否尝试过使用更小的varchar大小,看看是否有什么不同?i、 e.2000I已整理出解决方案@Nick.McDermaid,问题出在列命名端。如果您能在回答中发布详细信息,那将非常好。感谢您返回更多详细信息。这是一个非常好的信息,因为拼花阅读器根本没有给你任何线索。雪花的问题是它没有明确地抛出任何错误,我们需要找出它背后的真正原因。在这个过程中,我们学到了很多。
 It returned ID's correctly but the product values are null.