What you will learn:
- How to create a connection to Snowflake using Python and Snowpark?
- How to export a data table from Snowflake?
- How to convert a Snowflake DataFrame to a Pandas DataFrame?
CREATE OR REPLACE TABLE Country (
countrycode varchar(255),
latitude float,
longitude float,
name varchar(255)
);
INSERT INTO COUNTRY VALUES('AD',42.546245,1.601554,'Andorra');
INSERT INTO COUNTRY VALUES('AE',23.424076,53.847818,'United Arab Emirates');
INSERT INTO COUNTRY VALUES('AF',33.93911,67.709953,'Afghanistan');
INSERT INTO COUNTRY VALUES('AG',17.060816,-61.796428,'Antigua and Barbuda');
INSERT INTO COUNTRY VALUES('AI',18.220554,-63.068615,'Anguilla');
INSERT INTO COUNTRY VALUES('AL',41.153332,20.168331,'Albania');
INSERT INTO COUNTRY VALUES('AM',40.069099,45.038189,'Armenia');
INSERT INTO COUNTRY VALUES('AN',12.226079,-69.060087,'Netherlands Antilles');
INSERT INTO COUNTRY VALUES('AO',-11.202692,17.873887,'Angola');
INSERT INTO COUNTRY VALUES('AQ',-75.250973,-0.071389,'Antarctica');
INSERT INTO COUNTRY VALUES('AR',-38.416097,-63.616672,'Argentina');
INSERT INTO COUNTRY VALUES('AS',-14.270972,-170.132217,'American Samoa');
INSERT INTO COUNTRY VALUES('AT',47.516231,14.550072,'Austria');
INSERT INTO COUNTRY VALUES('AU',-25.274398,133.775136,'Australia');
INSERT INTO COUNTRY VALUES('AW',12.52111,-69.968338,'Aruba');
INSERT INTO COUNTRY VALUES('AZ',40.143105,47.576927,'Azerbaijan');
INSERT INTO COUNTRY VALUES('BA',43.915886,17.679076,'Bosnia and Herzegovina');
INSERT INTO COUNTRY VALUES('BB',13.193887,-59.543198,'Barbados');
INSERT INTO COUNTRY VALUES('BD',23.684994,90.356331,'Bangladesh');
INSERT INTO COUNTRY VALUES('BE',50.503887,4.469936,'Belgium');
INSERT INTO COUNTRY VALUES('BF',12.238333,-1.561593,'Burkina Faso');
INSERT INTO COUNTRY VALUES('BG',42.733883,25.48583,'Bulgaria');
INSERT INTO COUNTRY VALUES('BH',25.930414,50.637772,'Bahrain');
INSERT INTO COUNTRY VALUES('BI',-3.373056,29.918886,'Burundi');
INSERT INTO COUNTRY VALUES('BJ',9.30769,2.315834,'Benin');
INSERT INTO COUNTRY VALUES('BM',32.321384,-64.75737,'Bermuda');
INSERT INTO COUNTRY VALUES('BN',4.535277,114.727669,'Brunei');
INSERT INTO COUNTRY VALUES('BO',-16.290154,-63.588653,'Bolivia');
INSERT INTO COUNTRY VALUES('BR',-14.235004,-51.92528,'Brazil');
INSERT INTO COUNTRY VALUES('BS',25.03428,-77.39628,'Bahamas');
INSERT INTO COUNTRY VALUES('BT',27.514162,90.433601,'Bhutan');
INSERT INTO COUNTRY VALUES('BV',-54.423199,3.413194,'Bouvet Island');
INSERT INTO COUNTRY VALUES('BW',-22.328474,24.684866,'Botswana');
INSERT INTO COUNTRY VALUES('BY',53.709807,27.953389,'Belarus');
INSERT INTO COUNTRY VALUES('BZ',17.189877,-88.49765,'Belize');
INSERT INTO COUNTRY VALUES('CA',56.130366,-106.346771,'Canada');
INSERT INTO COUNTRY VALUES('CC',-12.164165,96.870956,'Cocos [Keeling] Islands');
INSERT INTO COUNTRY VALUES('CD',-4.038333,21.758664,'Congo [DRC]');
INSERT INTO COUNTRY VALUES('CF',6.611111,20.939444,'Central African Republic');
INSERT INTO COUNTRY VALUES('CG',-0.228021,15.827659,'Congo [Republic]');
INSERT INTO COUNTRY VALUES('CH',46.818188,8.227512,'Switzerland');
INSERT INTO COUNTRY VALUES('CI',7.539989,-5.54708,'Côte d\'Ivoire');
INSERT INTO COUNTRY VALUES('CK',-21.236736,-159.777671,'Cook Islands');
INSERT INTO COUNTRY VALUES('CL',-35.675147,-71.542969,'Chile');
INSERT INTO COUNTRY VALUES('CM',7.369722,12.354722,'Cameroon');
INSERT INTO COUNTRY VALUES('CN',35.86166,104.195397,'China');
INSERT INTO COUNTRY VALUES('CO',4.570868,-74.297333,'Colombia');
INSERT INTO COUNTRY VALUES('CR',9.748917,-83.753428,'Costa Rica');
INSERT INTO COUNTRY VALUES('CU',21.521757,-77.781167,'Cuba');
INSERT INTO COUNTRY VALUES('CV',16.002082,-24.013197,'Cape Verde');
INSERT INTO COUNTRY VALUES('CX',-10.447525,105.690449,'Christmas Island');
INSERT INTO COUNTRY VALUES('CY',35.126413,33.429859,'Cyprus');
INSERT INTO COUNTRY VALUES('CZ',49.817492,15.472962,'Czech Republic');
INSERT INTO COUNTRY VALUES('DE',51.165691,10.451526,'Germany');
INSERT INTO COUNTRY VALUES('DJ',11.825138,42.590275,'Djibouti');
INSERT INTO COUNTRY VALUES('DK',56.26392,9.501785,'Denmark');
INSERT INTO COUNTRY VALUES('DM',15.414999,-61.370976,'Dominica');
INSERT INTO COUNTRY VALUES('DO',18.735693,-70.162651,'Dominican Republic');
INSERT INTO COUNTRY VALUES('DZ',28.033886,1.659626,'Algeria');
INSERT INTO COUNTRY VALUES('EC',-1.831239,-78.183406,'Ecuador');
INSERT INTO COUNTRY VALUES('EE',58.595272,25.013607,'Estonia');
INSERT INTO COUNTRY VALUES('EG',26.820553,30.802498,'Egypt');
INSERT INTO COUNTRY VALUES('EH',24.215527,-12.885834,'Western Sahara');
INSERT INTO COUNTRY VALUES('ER',15.179384,39.782334,'Eritrea');
INSERT INTO COUNTRY VALUES('ES',40.463667,-3.74922,'Spain');
INSERT INTO COUNTRY VALUES('ET',9.145,40.489673,'Ethiopia');
INSERT INTO COUNTRY VALUES('FI',61.92411,25.748151,'Finland');
INSERT INTO COUNTRY VALUES('FJ',-16.578193,179.414413,'Fiji');
INSERT INTO COUNTRY VALUES('FK',-51.796253,-59.523613,'Falkland Islands [Islas Malvinas]');
INSERT INTO COUNTRY VALUES('FM',7.425554,150.550812,'Micronesia');
INSERT INTO COUNTRY VALUES('FO',61.892635,-6.911806,'Faroe Islands');
INSERT INTO COUNTRY VALUES('FR',46.227638,2.213749,'France');
INSERT INTO COUNTRY VALUES('GA',-0.803689,11.609444,'Gabon');
INSERT INTO COUNTRY VALUES('GB',55.378051,-3.435973,'United Kingdom');
INSERT INTO COUNTRY VALUES('GD',12.262776,-61.604171,'Grenada');
INSERT INTO COUNTRY VALUES('GE',42.315407,43.356892,'Georgia');
INSERT INTO COUNTRY VALUES('GF',3.933889,-53.125782,'French Guiana');
INSERT INTO COUNTRY VALUES('GG',49.465691,-2.585278,'Guernsey');
INSERT INTO COUNTRY VALUES('GH',7.946527,-1.023194,'Ghana');
INSERT INTO COUNTRY VALUES('GI',36.137741,-5.345374,'Gibraltar');
INSERT INTO COUNTRY VALUES('GL',71.706936,-42.604303,'Greenland');
INSERT INTO COUNTRY VALUES('GM',13.443182,-15.310139,'Gambia');
INSERT INTO COUNTRY VALUES('GN',9.945587,-9.696645,'Guinea');
INSERT INTO COUNTRY VALUES('GP',16.995971,-62.067641,'Guadeloupe');
INSERT INTO COUNTRY VALUES('GQ',1.650801,10.267895,'Equatorial Guinea');
INSERT INTO COUNTRY VALUES('GR',39.074208,21.824312,'Greece');
INSERT INTO COUNTRY VALUES('GS',-54.429579,-36.587909,'South Georgia and the South Sandwich Islands');
INSERT INTO COUNTRY VALUES('GT',15.783471,-90.230759,'Guatemala');
INSERT INTO COUNTRY VALUES('GU',13.444304,144.793731,'Guam');
INSERT INTO COUNTRY VALUES('GW',11.803749,-15.180413,'Guinea-Bissau');
INSERT INTO COUNTRY VALUES('GY',4.860416,-58.93018,'Guyana');
INSERT INTO COUNTRY VALUES('GZ',31.354676,34.308825,'Gaza Strip');
INSERT INTO COUNTRY VALUES('HK',22.396428,114.109497,'Hong Kong');
INSERT INTO COUNTRY VALUES('HM',-53.08181,73.504158,'Heard Island and McDonald Islands');
INSERT INTO COUNTRY VALUES('HN',15.199999,-86.241905,'Honduras');
INSERT INTO COUNTRY VALUES('HR',45.1,15.2,'Croatia');
INSERT INTO COUNTRY VALUES('HT',18.971187,-72.285215,'Haiti');
INSERT INTO COUNTRY VALUES('HU',47.162494,19.503304,'Hungary');
INSERT INTO COUNTRY VALUES('ID',-0.789275,113.921327,'Indonesia');
INSERT INTO COUNTRY VALUES('IE',53.41291,-8.24389,'Ireland');
INSERT INTO COUNTRY VALUES('IL',31.046051,34.851612,'Israel');
INSERT INTO COUNTRY VALUES('IM',54.236107,-4.548056,'Isle of Man');
INSERT INTO COUNTRY VALUES('IN',20.593684,78.96288,'India');
INSERT INTO COUNTRY VALUES('IO',-6.343194,71.876519,'British Indian Ocean Territory');
INSERT INTO COUNTRY VALUES('IQ',33.223191,43.679291,'Iraq');
INSERT INTO COUNTRY VALUES('IR',32.427908,53.688046,'Iran');
INSERT INTO COUNTRY VALUES('IS',64.963051,-19.020835,'Iceland');
INSERT INTO COUNTRY VALUES('IT',41.87194,12.56738,'Italy');
INSERT INTO COUNTRY VALUES('JE',49.214439,-2.13125,'Jersey');
INSERT INTO COUNTRY VALUES('JM',18.109581,-77.297508,'Jamaica');
INSERT INTO COUNTRY VALUES('JO',30.585164,36.238414,'Jordan');
INSERT INTO COUNTRY VALUES('JP',36.204824,138.252924,'Japan');
INSERT INTO COUNTRY VALUES('KE',-0.023559,37.906193,'Kenya');
INSERT INTO COUNTRY VALUES('KG',41.20438,74.766098,'Kyrgyzstan');
INSERT INTO COUNTRY VALUES('KH',12.565679,104.990963,'Cambodia');
INSERT INTO COUNTRY VALUES('KI',-3.370417,-168.734039,'Kiribati');
INSERT INTO COUNTRY VALUES('KM',-11.875001,43.872219,'Comoros');
INSERT INTO COUNTRY VALUES('KN',17.357822,-62.782998,'Saint Kitts and Nevis');
INSERT INTO COUNTRY VALUES('KP',40.339852,127.510093,'North Korea');
INSERT INTO COUNTRY VALUES('KR',35.907757,127.766922,'South Korea');
INSERT INTO COUNTRY VALUES('KW',29.31166,47.481766,'Kuwait');
INSERT INTO COUNTRY VALUES('KY',19.513469,-80.566956,'Cayman Islands');
INSERT INTO COUNTRY VALUES('KZ',48.019573,66.923684,'Kazakhstan');
INSERT INTO COUNTRY VALUES('LA',19.85627,102.495496,'Laos');
INSERT INTO COUNTRY VALUES('LB',33.854721,35.862285,'Lebanon');
INSERT INTO COUNTRY VALUES('LC',13.909444,-60.978893,'Saint Lucia');
INSERT INTO COUNTRY VALUES('LI',47.166,9.555373,'Liechtenstein');
INSERT INTO COUNTRY VALUES('LK',7.873054,80.771797,'Sri Lanka');
INSERT INTO COUNTRY VALUES('LR',6.428055,-9.429499,'Liberia');
INSERT INTO COUNTRY VALUES('LS',-29.609988,28.233608,'Lesotho');
INSERT INTO COUNTRY VALUES('LT',55.169438,23.881275,'Lithuania');
INSERT INTO COUNTRY VALUES('LU',49.815273,6.129583,'Luxembourg');
INSERT INTO COUNTRY VALUES('LV',56.879635,24.603189,'Latvia');
INSERT INTO COUNTRY VALUES('LY',26.3351,17.228331,'Libya');
INSERT INTO COUNTRY VALUES('MA',31.791702,-7.09262,'Morocco');
INSERT INTO COUNTRY VALUES('MC',43.750298,7.412841,'Monaco');
INSERT INTO COUNTRY VALUES('MD',47.411631,28.369885,'Moldova');
INSERT INTO COUNTRY VALUES('ME',42.708678,19.37439,'Montenegro');
INSERT INTO COUNTRY VALUES('MG',-18.766947,46.869107,'Madagascar');
INSERT INTO COUNTRY VALUES('MH',7.131474,171.184478,'Marshall Islands');
INSERT INTO COUNTRY VALUES('MK',41.608635,21.745275,'Macedonia [FYROM]');
INSERT INTO COUNTRY VALUES('ML',17.570692,-3.996166,'Mali');
INSERT INTO COUNTRY VALUES('MM',21.913965,95.956223,'Myanmar [Burma]');
INSERT INTO COUNTRY VALUES('MN',46.862496,103.846656,'Mongolia');
INSERT INTO COUNTRY VALUES('MO',22.198745,113.543873,'Macau');
INSERT INTO COUNTRY VALUES('MP',17.33083,145.38469,'Northern Mariana Islands');
INSERT INTO COUNTRY VALUES('MQ',14.641528,-61.024174,'Martinique');
INSERT INTO COUNTRY VALUES('MR',21.00789,-10.940835,'Mauritania');
INSERT INTO COUNTRY VALUES('MS',16.742498,-62.187366,'Montserrat');
INSERT INTO COUNTRY VALUES('MT',35.937496,14.375416,'Malta');
INSERT INTO COUNTRY VALUES('MU',-20.348404,57.552152,'Mauritius');
INSERT INTO COUNTRY VALUES('MV',3.202778,73.22068,'Maldives');
INSERT INTO COUNTRY VALUES('MW',-13.254308,34.301525,'Malawi');
INSERT INTO COUNTRY VALUES('MX',23.634501,-102.552784,'Mexico');
INSERT INTO COUNTRY VALUES('MY',4.210484,101.975766,'Malaysia');
INSERT INTO COUNTRY VALUES('MZ',-18.665695,35.529562,'Mozambique');
INSERT INTO COUNTRY VALUES('NA',-22.95764,18.49041,'Namibia');
INSERT INTO COUNTRY VALUES('NC',-20.904305,165.618042,'New Caledonia');
INSERT INTO COUNTRY VALUES('NE',17.607789,8.081666,'Niger');
INSERT INTO COUNTRY VALUES('NF',-29.040835,167.954712,'Norfolk Island');
INSERT INTO COUNTRY VALUES('NG',9.081999,8.675277,'Nigeria');
INSERT INTO COUNTRY VALUES('NI',12.865416,-85.207229,'Nicaragua');
INSERT INTO COUNTRY VALUES('NL',52.132633,5.291266,'Netherlands');
INSERT INTO COUNTRY VALUES('NO',60.472024,8.468946,'Norway');
INSERT INTO COUNTRY VALUES('NP',28.394857,84.124008,'Nepal');
INSERT INTO COUNTRY VALUES('NR',-0.522778,166.931503,'Nauru');
INSERT INTO COUNTRY VALUES('NU',-19.054445,-169.867233,'Niue');
INSERT INTO COUNTRY VALUES('NZ',-40.900557,174.885971,'New Zealand');
INSERT INTO COUNTRY VALUES('OM',21.512583,55.923255,'Oman');
INSERT INTO COUNTRY VALUES('PA',8.537981,-80.782127,'Panama');
INSERT INTO COUNTRY VALUES('PE',-9.189967,-75.015152,'Peru');
INSERT INTO COUNTRY VALUES('PF',-17.679742,-149.406843,'French Polynesia');
INSERT INTO COUNTRY VALUES('PG',-6.314993,143.95555,'Papua New Guinea');
INSERT INTO COUNTRY VALUES('PH',12.879721,121.774017,'Philippines');
INSERT INTO COUNTRY VALUES('PK',30.375321,69.345116,'Pakistan');
INSERT INTO COUNTRY VALUES('PL',51.919438,19.145136,'Poland');
INSERT INTO COUNTRY VALUES('PM',46.941936,-56.27111,'Saint Pierre and Miquelon');
INSERT INTO COUNTRY VALUES('PN',-24.703615,-127.439308,'Pitcairn Islands');
INSERT INTO COUNTRY VALUES('PR',18.220833,-66.590149,'Puerto Rico');
INSERT INTO COUNTRY VALUES('PS',31.952162,35.233154,'Palestinian Territories');
INSERT INTO COUNTRY VALUES('PT',39.399872,-8.224454,'Portugal');
INSERT INTO COUNTRY VALUES('PW',7.51498,134.58252,'Palau');
INSERT INTO COUNTRY VALUES('PY',-23.442503,-58.443832,'Paraguay');
INSERT INTO COUNTRY VALUES('QA',25.354826,51.183884,'Qatar');
INSERT INTO COUNTRY VALUES('RE',-21.115141,55.536384,'Réunion');
INSERT INTO COUNTRY VALUES('RO',45.943161,24.96676,'Romania');
INSERT INTO COUNTRY VALUES('RS',44.016521,21.005859,'Serbia');
INSERT INTO COUNTRY VALUES('RU',61.52401,105.318756,'Russia');
INSERT INTO COUNTRY VALUES('RW',-1.940278,29.873888,'Rwanda');
INSERT INTO COUNTRY VALUES('SA',23.885942,45.079162,'Saudi Arabia');
INSERT INTO COUNTRY VALUES('SB',-9.64571,160.156194,'Solomon Islands');
INSERT INTO COUNTRY VALUES('SC',-4.679574,55.491977,'Seychelles');
INSERT INTO COUNTRY VALUES('SD',12.862807,30.217636,'Sudan');
INSERT INTO COUNTRY VALUES('SE',60.128161,18.643501,'Sweden');
INSERT INTO COUNTRY VALUES('SG',1.352083,103.819836,'Singapore');
INSERT INTO COUNTRY VALUES('SH',-24.143474,-10.030696,'Saint Helena');
INSERT INTO COUNTRY VALUES('SI',46.151241,14.995463,'Slovenia');
INSERT INTO COUNTRY VALUES('SJ',77.553604,23.670272,'Svalbard and Jan Mayen');
INSERT INTO COUNTRY VALUES('SK',48.669026,19.699024,'Slovakia');
INSERT INTO COUNTRY VALUES('SL',8.460555,-11.779889,'Sierra Leone');
INSERT INTO COUNTRY VALUES('SM',43.94236,12.457777,'San Marino');
INSERT INTO COUNTRY VALUES('SN',14.497401,-14.452362,'Senegal');
INSERT INTO COUNTRY VALUES('SO',5.152149,46.199616,'Somalia');
INSERT INTO COUNTRY VALUES('SR',3.919305,-56.027783,'Suriname');
INSERT INTO COUNTRY VALUES('ST',0.18636,6.613081,'São Tomé and Príncipe');
INSERT INTO COUNTRY VALUES('SV',13.794185,-88.89653,'El Salvador');
INSERT INTO COUNTRY VALUES('SY',34.802075,38.996815,'Syria');
INSERT INTO COUNTRY VALUES('SZ',-26.522503,31.465866,'Swaziland');
INSERT INTO COUNTRY VALUES('TC',21.694025,-71.797928,'Turks and Caicos Islands');
INSERT INTO COUNTRY VALUES('TD',15.454166,18.732207,'Chad');
INSERT INTO COUNTRY VALUES('TF',-49.280366,69.348557,'French Southern Territories');
INSERT INTO COUNTRY VALUES('TG',8.619543,0.824782,'Togo');
INSERT INTO COUNTRY VALUES('TH',15.870032,100.992541,'Thailand');
INSERT INTO COUNTRY VALUES('TJ',38.861034,71.276093,'Tajikistan');
INSERT INTO COUNTRY VALUES('TK',-8.967363,-171.855881,'Tokelau');
INSERT INTO COUNTRY VALUES('TL',-8.874217,125.727539,'Timor-Leste');
INSERT INTO COUNTRY VALUES('TM',38.969719,59.556278,'Turkmenistan');
INSERT INTO COUNTRY VALUES('TN',33.886917,9.537499,'Tunisia');
INSERT INTO COUNTRY VALUES('TO',-21.178986,-175.198242,'Tonga');
INSERT INTO COUNTRY VALUES('TR',38.963745,35.243322,'Turkey');
INSERT INTO COUNTRY VALUES('TT',10.691803,-61.222503,'Trinidad and Tobago');
INSERT INTO COUNTRY VALUES('TV',-7.109535,177.64933,'Tuvalu');
INSERT INTO COUNTRY VALUES('TW',23.69781,120.960515,'Taiwan');
INSERT INTO COUNTRY VALUES('TZ',-6.369028,34.888822,'Tanzania');
INSERT INTO COUNTRY VALUES('UA',48.379433,31.16558,'Ukraine');
INSERT INTO COUNTRY VALUES('UG',1.373333,32.290275,'Uganda');
INSERT INTO COUNTRY VALUES('US',37.09024,-95.712891,'United States');
INSERT INTO COUNTRY VALUES('UY',-32.522779,-55.765835,'Uruguay');
INSERT INTO COUNTRY VALUES('UZ',41.377491,64.585262,'Uzbekistan');
INSERT INTO COUNTRY VALUES('VA',41.902916,12.453389,'Vatican City');
INSERT INTO COUNTRY VALUES('VC',12.984305,-61.287228,'Saint Vincent and the Grenadines');
INSERT INTO COUNTRY VALUES('VE',6.42375,-66.58973,'Venezuela');
INSERT INTO COUNTRY VALUES('VG',18.420695,-64.639968,'British Virgin Islands');
INSERT INTO COUNTRY VALUES('VI',18.335765,-64.896335,'U.S. Virgin Islands');
INSERT INTO COUNTRY VALUES('VN',14.058324,108.277199,'Vietnam');
INSERT INTO COUNTRY VALUES('VU',-15.376706,166.959158,'Vanuatu');
INSERT INTO COUNTRY VALUES('WF',-13.768752,-177.156097,'Wallis and Futuna');
INSERT INTO COUNTRY VALUES('WS',-13.759029,-172.104629,'Samoa');
INSERT INTO COUNTRY VALUES('XK',42.602636,20.902977,'Kosovo');
INSERT INTO COUNTRY VALUES('YE',15.552727,48.516388,'Yemen');
INSERT INTO COUNTRY VALUES('YT',-12.8275,45.166244,'Mayotte');
INSERT INTO COUNTRY VALUES('ZA',-30.559482,22.937506,'South Africa');
INSERT INTO COUNTRY VALUES('ZM',-13.133897,27.849332,'Zambia');
INSERT INTO COUNTRY VALUES('ZW',-19.015438,29.154857,'Zimbabwe');
Python Code
pip install snowflake-snowpark-python
pip install pyarrow==10.0.1
from snowflake.snowpark import Session
connection = {
"account": "xxx.east-us-2.azure",
"user": "YourUsername",
"password": 'YourPassword',
"role": "ACCOUNTADMIN", # optional
"warehouse": "COMPUTE_WH", # optional
"database": "YOUTUBE", # optional
"schema": "PUBLIC" # optional
}
newSession = Session.builder.configs(connection).create()
newSession.sql("SELECT * FROM COUNTRY").toPandas()