数据安全

免备案CDN_独立网站建设_新用户

字号+ 作者:微辰云 来源:微辰云 2021-02-02 08:28 我要评论( )

如何将兆字节加载到雪花中——速度、馈送和技术2018年4月30日作者:斯图亚特·奥泽工程,如何使用雪花,雪花技术我们经常会从客户那里得到这样的问题:"加载TB级数据的最快方法是什么?",以及:"您推荐什么样的传入数据格式?"下面是一个数据加载的例子,

大数据资源库_海外_国内低价的云服务器

如何将兆字节加载到雪花中——速度、馈送和技术2018年4月30日作者:斯图亚特·奥泽工程,如何使用雪花,雪花技术我们经常会从客户那里得到这样的问题:"加载TB级数据的最快方法是什么?",以及:"您推荐什么样的传入数据格式?"下面是一个数据加载的例子,它提供了这两个问题以及更多问题的答案。我们最近使用10tbtpcds基准数据集的数据来探索一些替代方案。所有雪花客户都可以通过名为Snowflake_SAMPLE_data,schema TPCDS_SF10TCL的数据库获得这些数据。该数据库中最大的表是STORE峎SALES,包含288亿行,代表4.7TB的未压缩数据,大约每行164字节。雪花在内部压缩到1.3 TB。该表包含五年的每日事务历史记录和23列,分为整数和十进制数据。我们为该表加载了三种不同的源数据格式:CSV文件gzip日期分区拼花地板文件(snappy压缩)日期分区的ORC文件(快照压缩)当将Parquet和ORC加载到Snowflake中时,大数据技术及数据分析培训,您可以选择将整个行存储在一个Snowflake变量中,或者将各个列提取到一个结构化模式中。我们测试了这两种方法的负载性能。但是对于具有固定模式(如TPCDS)的数据,我们更倾向于结构化存储。隔墙拼花和兽人在其他方面也很有趣。在数据湖环境中对这些格式使用配置单元分区时,好评返现怎么操作,分区数据列的值通常由文件名的一部分表示,而不是由数据本身内部的值表示。这意味着在数据加载过程中,在使用COPY命令时,必须通过引用Snowflake的METADATA$FILENAME属性来捕获并可能操作文件名。负载性能首先,让我们看看使用雪花2X大型集群加载数据的原始性能:源格式目标布局加载时间(秒)TB/Hr(未压缩)CSV(gzip)结构化的110415.4拼花地板(Snappy comp)半结构化35184.8拼花地板(Snappy comp)结构化的30955.4兽人(敏捷的comp)半结构化38454.4兽人(敏捷的comp)结构化的28206有几点就跳出来了:从Gzipped CSV加载比从ORC和拼花板加载快几倍,速度令人印象深刻的15 TB/小时。如果数据最初是在ORC或Parquet中,5-6tb/小时是不错的,但不要特意从CSV创建ORC或Parquet文件,希望它能更快地加载雪花。将数据加载到完全结构化(列化)模式中比将数据加载到变量中快10-20%。当我们使用不同的仓库大小测试装载相同的数据时,我们发现装载速度与仓库的规模成反比,正如预期的那样。以2倍于一个大的数据仓库为例,以2倍于2倍的速率加载一个大的CSV数据。相反,X-large以~7tb/小时的速率加载,而large以~3.5tb/hr的速率加载。这意味着您将花费相同数量的雪花点数来加载给定的数据集,而不管您使用的集群大小如何,只要您在完成时挂起仓库以避免空闲时间。您自己的数据文件的加载速率可能会因许多因素而不同:S3桶的位置-对于我们的测试,我们的雪花部署和S3桶都位于us-west-2列数和列类型-相对于文件中的字节数,列数越大可能需要更多的时间。Gzip压缩效率-从S3读取的数据越多,加载时间就越长。(在所有情况下,trustdata大数据,请确保使用足够数量的加载文件以使所有加载线程保持忙碌。对于2X大型,有256个这样的线程,我们有大约2000个加载文件来覆盖五年的历史。)拼花地板和兽人的最佳实践在我们考虑拼花和ORC的同时,让我们看看我们使用分区拼花数据填充STORE_SALES的完全结构化版本所使用的技术。首先,考虑日期分区的Parquet文件驻留在一个S3 bucket中,使用以下前缀命名约定,其中突出显示的整数是分区键的值之一。在STORE_SALES中,它是名为ss_sold_date_sk的sold_date列的整数代理项:S3:///10tb_拼花地板/商店销售/ss_已售日期\u sk=2451132/如果数据文件最初是由配置单元生成的,则还会有一个前缀,表示分区键为空的数据:S3:///10tb_拼花地板/商店销售/ss_salled_date_sk=\u配置单元默认_分区__/最后,HIVE将在bucket中创建一系列0字节的"tag"文件,这些文件在摄取过程中需要被忽略。这些文件的格式如下:S3:///10tb_拼花地板/商店销售/ss_salled_date_sk=2451132_$文件夹$如前所述,数据文件本身不包含ss_sold_date_sk的列或值,即使它是表定义的一部分。相反,该值必须从S3中的前缀名派生。为了处理这个桶的摄入,我们首先为雪花定义了一个外部阶段:创建或替换舞台拼花测试url='s3:///tpcds/10tb_拼花/'凭证=(aws_key_id=…,aws_secret_key=…)文件格式=(类型='拼花');最后,将所有拼花地板数据加载到完全结构化的STORE_SALES表中的命令如下所示:从复制到门店销售(选择无条件(regexp_替换(元数据$FILENAME,'.*\\=(.*)\\/.*','\\1'),'配置单元默认分区')因为ss_卖了_date_sk,$1:ss_卖了_time_sk,$1:ss_item_sk作为ss_item_sk,$1:ss_customer_sk作为ss_customer_sk,$1:ss_cdemo_sk作为ss_cdemo_sk,$1:ss_hdemo_sk作为ss_hdemo_sk,$1:ss_addr_sk作为ss_addr_sk,$1:ss_store_sk作为ss_store_sk,$1:ss_promo_sk作为ss_promo_sk,$1:ss_ticket_号码作为ss_ticket_号码,大淘客是什么,$1:ss_数量作为ss_数量,一站式建站,$1:ss_批发价作为ss_批发价,$1:ss_list_价格作为ss_list_price,$1:ss_销售价格作为ss_销售价格,$1:ss_ext_折扣_amt as ss_ext_discount_amt,$1:ss_ext_销售价格作为ss_ext_销售价格,$1:ss_ext_批发_成本作为ss_ext_批发_成本,$1:ss_ext_标价作为ss_ext_标价,$1:ss_ext_税作为ss_ext_税,$1:ss_coupon_amt作为ss_coupon_amt,$1:ss_net_支付作为ss_net_支付,$1:ss_net_paid_inc_税作为ss_net_paid_inc_税,$1:ss_净利润作为ss_净利润来自@parquet_test/store_sales/)图案='.*/.*/ss\u sell\u日期\u sk=.*/.*'; 注意,我们使用COPY命令的"transform"特性来解析和操作半结构化的Parquet格式。副本的主体包括提取拼花地板数据中包含的标签字段,将它们直接映射到STORE_SALES中的相应列。例如,在表达式中:$1:ss_net_支付作为ss_net_支付,$1将单个列的内容表示为一组键值对,而$1:ss_net_paid表示与该行中ss_net_paid键关联的值。让我们仔细看看上面脚本中的两个突出显示的表达式。第一个表情,无条件(regexp_替换(元数据$FILENAME,'.*\\=(.*)\\/.*','\\1'),'配置单元默认分区' )用于填充ss_sold_date_sk列,该列是用于对输入数据进行分区的值。REGEX_REPLACE函数将完全限定的S3文件名转换为表示嵌入前缀中的date_键的整数值。它通过在文件路径中搜索"="符号后的字符,直到下一个"/"来完成此操作。NULLIF用于将名为HIVE_DEFAULT_PARTITION的分区替换为日期键的值NULL。最后的表达图案='.*/.*/ss\u sell\u日期\u sk=.*/.*'作为输入文件的过滤器,强制COPY忽略存储桶中的0字节占位符文件。加载ORC需要完全相同的过程,只更改createstage命令中的格式定义。结论将数据加载到雪花中既快速又灵活。在处理CSV文件时,您可以获得最大的速度,但雪花在处理半结构化数据方面的表现力甚至可以让现有ORC和拼花数据集的复杂分区方案轻松地插入到完全结构化的雪花表中。附加链接用雪花设计大数据流摄取体系结构就像你读的?通过喜欢和分享来表达你的感激之情!Facebook推特LinkedIn

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 华为云_构建数据库_新用户

    华为云_构建数据库_新用户

    2021-04-22 10:29

  • 域名交易_虚拟主机服务_限时特惠

    域名交易_虚拟主机服务_限时特惠

    2021-03-30 05:28

  • 免备案CDN_图片存入数据库_速度快

    免备案CDN_图片存入数据库_速度快

    2021-03-22 02:08

  • 网站空间_数据库连接类_促销

    网站空间_数据库连接类_促销

    2021-03-10 18:12

网友点评