2024-07-01 07:58:50 发布
网友
我们正在与一位客户讨论,使用SnowSQL将文件放入Snowflake或使用JDBC驱动程序编写自定义代码是否会更快
一种观点认为JDBC会比SnowSQL快,因为Java比Python快——Python是编写SnowSQL的语言。但并不是所有人都同意
我们怎样才能知道哪个更快
我们可以编写一些简单的代码来比较Python和Java之间的PUT
让我们从Java代码开始:
import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import java.sql.DriverManager; import net.snowflake.client.jdbc.SnowflakeConnection; public class App { static String user = ""; static String password = ""; private static final String TMP_TEST_CSV = "/Users/fhoffa/Downloads/pageviews-20210601-000000.gz"; public static void main(String[] args) throws Exception { Connection conn = DriverManager.getConnection( "jdbc:snowflake://your-account.snowflakecomputing.com/?db=temp&role=sysadmin&schema=public", user, password); File file = new File(TMP_TEST_CSV); FileInputStream fileInputStream = new FileInputStream(file); conn.unwrap(SnowflakeConnection.class).uploadStream("my_int_stage", "testUploadStream", fileInputStream, "destFile.csv", true); } }
用Java放这个文件花了47秒。我还将压缩选项更改为false,以测试这是否会有很大变化,整个过程耗时46秒
同时,我使用SnowSQL做了以下工作:
#(no warehouse)@TEMP.PUBLIC> put 'file:///Users/fhoffa/Downloads/pageviews-20210601-000000.gz' @~/my_int_stage; pageviews-20210601-000000.gz(38.59MB): [##########] 100.00% Done (41.330s, 0.93MB/s). + + + -+ -+ + + + -+ | source | target | source_size | target_size | source_compression | target_compression | status | message | | + + -+ -+ + + + -| | pageviews-20210601-000000.gz | pageviews-20210601-000000.gz | 40460014 | 40460014 | GZIP | GZIP | UPLOADED | | + + + -+ -+ + + + -+ 1 Row(s) produced. Time Elapsed: 43.344s
它花费了43秒,比JDBC花费的时间少了10%。因此,没有理由认为Java会比Python快得多
您的结果可能会有所不同!当通过慢速网络发送文件时,大部分时间将用于处理网络,而使用Java运行压缩可能会更快
我在本例中使用的文件是压缩的CSV:
雪花中创建舞台的基本设置:
use role sysadmin; use schema temp.public; create stage my_int_stage;
我们可以编写一些简单的代码来比较Python和Java之间的PUT
让我们从Java代码开始:
用Java放这个文件花了47秒。我还将压缩选项更改为false,以测试这是否会有很大变化,整个过程耗时46秒
同时,我使用SnowSQL做了以下工作:
它花费了43秒,比JDBC花费的时间少了10%。因此,没有理由认为Java会比Python快得多
您的结果可能会有所不同!当通过慢速网络发送文件时,大部分时间将用于处理网络,而使用Java运行压缩可能会更快
我在本例中使用的文件是压缩的CSV:
雪花中创建舞台的基本设置:
相关问题 更多 >
编程相关推荐