From f9fa17ef77a99bdf461144b45c90f11dcaa69228 Mon Sep 17 00:00:00 2001 From: MarsBarLee <46167686+MarsBarLee@users.noreply.github.com> Date: Tue, 7 Feb 2023 16:28:23 -0500 Subject: [PATCH 1/2] Add file --- apps/labs/posts/ibis-1.3-release.md | 856 ++++++++++++++++++ ...7141ab17cfaa94c0a1cad75849b5d1763fcae1.svg | 1 + ...d7d60365fe2da629b5103143e73bfea0b6f39f.png | Bin 0 -> 2272 bytes ...40bcc66b7071e11bb0db32b0142239a2336085.png | Bin 0 -> 27688 bytes ...67cb659b1067258d29fbe649755a2e848e108a.png | Bin 0 -> 4953 bytes ...98cb83ec33da5b0824391dc456c3cf654cbd89.png | Bin 0 -> 9401 bytes ...dc92a22b0ccd022331e7a05bda2e0793922b6b.png | Bin 0 -> 2484 bytes ...a0adc684226342999e42956c4bb303dedd9595.svg | 1 + 8 files changed, 858 insertions(+) create mode 100644 apps/labs/posts/ibis-1.3-release.md create mode 100644 apps/labs/public/posts/ibis-1.3-release/227141ab17cfaa94c0a1cad75849b5d1763fcae1.svg create mode 100644 apps/labs/public/posts/ibis-1.3-release/29d7d60365fe2da629b5103143e73bfea0b6f39f.png create mode 100644 apps/labs/public/posts/ibis-1.3-release/5040bcc66b7071e11bb0db32b0142239a2336085.png create mode 100644 apps/labs/public/posts/ibis-1.3-release/6567cb659b1067258d29fbe649755a2e848e108a.png create mode 100644 apps/labs/public/posts/ibis-1.3-release/6a98cb83ec33da5b0824391dc456c3cf654cbd89.png create mode 100644 apps/labs/public/posts/ibis-1.3-release/8ddc92a22b0ccd022331e7a05bda2e0793922b6b.png create mode 100644 apps/labs/public/posts/ibis-1.3-release/fba0adc684226342999e42956c4bb303dedd9595.svg diff --git a/apps/labs/posts/ibis-1.3-release.md b/apps/labs/posts/ibis-1.3-release.md new file mode 100644 index 000000000..4d69f57f6 --- /dev/null +++ b/apps/labs/posts/ibis-1.3-release.md @@ -0,0 +1,856 @@ +--- +title: "Highlights of the Ibis 1.3 release" +author: ivan-ogasawara +published: May 2, 2020 +description: 'Ibis 1.3 was just released, after 8 months of development work, with 104 new commits from 16 unique contributors. In this blog post we will discuss some important features in this new version!' +category: [PyData ecosystem] +featuredImage: + src: /posts/hello-world-post/featured.png + alt: 'Excellent alt-text describing the featured image' +hero: + imageSrc: /posts/hello-world-post/hero.jpeg + imageAlt: 'Excellent alt-text describing the hero image' +--- + +Ibis 1.3 was just released, after 8 months of development work, with 104 +new commits from 16 unique contributors. What is new? In this blog post +we will discuss some important features in this new version! + +First, if you are new to the Ibis framework world, you can check this +[blog +post](https://labs.quansight.org/blog/2019/07/ibis-python-data-analysis-productivity-framework/) +I wrote last year, with some introductory information about it. + +Some highlighted features of this new version are: + +- Addition of a `PySpark` backend +- Improvement of geospatial support +- Addition of `JSON`, `JSONB` and `UUID` data types +- Initial support for `Python 3.8` added and support for `Python 3.5` + dropped +- Added new backends and geospatial methods to the documentation +- Renamed the `mapd` backend to `omniscidb` + +This blog post is divided into different sections: + +- OmniSciDB +- PostgreSQL +- PySpark +- Geospatial support +- Python versions support + +``` python +import ibis +import pandas as pd +``` + +### OmniSciDB + +The `mapd` backend is now named `omniscidb`! + +An important feature of `omniscidb` is that now you can define if the +connection is `IPC` (Inter-Process Communication), and you can also +specify the `GPU` device ID you want to use (if you have a NVIDIA card, +supported by `cudf`). + +`IPC` is used to provide shared data support between processes. +OmniSciDB uses Apache Arrow to provide IPC support. + +``` python +con_omni = ibis.omniscidb.connect( + host='localhost', + port='6274', + user='admin', + password='HyperInteractive', + database='ibis_testing', + ipc=False, + gpu_device=None +) +con_omni.list_tables() +``` + + ['diamonds', 'batting', 'awards_players', 'functional_alltypes', 'geo'] + +Also you can now specify `ipc` or `gpu_device` directly to the `execute` +method: + +``` python +t = con_omni.table('functional_alltypes') +expr = t[['id', 'bool_col']].head(5) +df = expr.execute(ipc=False, gpu_device=None) +df +``` + +```{=html} +
+ | id | +bool_col | +
---|---|---|
0 | +6690 | +True | +
1 | +6691 | +False | +
2 | +6692 | +True | +
3 | +6693 | +False | +
4 | +6694 | +True | +
+ | index | +Unnamed: 0 | +id | +bool_col | +tinyint_col | +smallint_col | +int_col | +bigint_col | +float_col | +double_col | +date_string_col | +string_col | +timestamp_col | +year | +month | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | +0 | +0 | +6690 | +True | +0 | +0 | +0 | +0 | +0.0 | +0.0 | +11/01/10 | +0 | +2010-11-01 00:00:00.000 | +2010 | +11 | +
1 | +1 | +1 | +6691 | +False | +1 | +1 | +1 | +10 | +1.1 | +10.1 | +11/01/10 | +1 | +2010-11-01 00:01:00.000 | +2010 | +11 | +
2 | +2 | +2 | +6692 | +True | +2 | +2 | +2 | +20 | +2.2 | +20.2 | +11/01/10 | +2 | +2010-11-01 00:02:00.100 | +2010 | +11 | +
3 | +3 | +3 | +6693 | +False | +3 | +3 | +3 | +30 | +3.3 | +30.3 | +11/01/10 | +3 | +2010-11-01 00:03:00.300 | +2010 | +11 | +
4 | +4 | +4 | +6694 | +True | +4 | +4 | +4 | +40 | +4.4 | +40.4 | +11/01/10 | +4 | +2010-11-01 00:04:00.600 | +2010 | +11 | +
+ | string_col | +int_col_count | +int_col_mean | +int_col_sum | +
---|---|---|---|---|
0 | +7 | +730 | +7.0 | +5110 | +
1 | +3 | +730 | +3.0 | +2190 | +
2 | +8 | +730 | +8.0 | +5840 | +
3 | +0 | +730 | +0.0 | +0 | +
4 | +5 | +730 | +5.0 | +3650 | +
5 | +6 | +730 | +6.0 | +4380 | +
6 | +9 | +730 | +9.0 | +6570 | +
7 | +1 | +730 | +1.0 | +730 | +
8 | +4 | +730 | +4.0 | +2920 | +
9 | +2 | +730 | +2.0 | +1460 | +
+ | id | +geo_point | +geo_linestring | +geo_polygon | +geo_multipolygon | +
---|---|---|---|---|---|
0 | +1 | +POINT (0.00000 0.00000) | +LINESTRING (0 0, 1 1) | +POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | +(POLYGON ((30 20, 45 40, 10 40, 30 20)), POLYG... | +
1 | +2 | +POINT (1.00000 1.00000) | +LINESTRING (1 1, 2 2) | +POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), ... | +(POLYGON ((40 40, 20 45, 45 30, 40 40)), POLYG... | +
2 | +3 | +POINT (2.00000 2.00000) | +LINESTRING (2 2, 3 3) | +POLYGON ((2 2, 3 3, 4 4, 5 5, 5 2, 2 2)) | +(POLYGON ((2 2, 3 3, 4 4, 5 5, 5 2, 2 2))) | +
3 | +4 | +POINT (3.00000 3.00000) | +LINESTRING (3 3, 4 4) | +POLYGON ((3 3, 4 4, 5 5, 6 6, 6 3, 3 3)) | +(POLYGON ((3 3, 4 4, 5 5, 6 6, 6 3, 3 3))) | +
4 | +5 | +POINT (4.00000 4.00000) | +LINESTRING (4 4, 5 5) | +POLYGON ((4 4, 5 5, 6 6, 7 7, 7 4, 4 4)) | +(POLYGON ((4 4, 5 5, 6 6, 7 7, 7 4, 4 4))) | +
+ | geo_multipolygon | +contains_point_1 | +
---|---|---|
0 | +MULTIPOLYGON (((30.00000 20.00000, 45.00000 40... | +True | +
1 | +MULTIPOLYGON (((40.00000 40.00000, 20.00000 45... | +True | +
2 | +MULTIPOLYGON (((2.00000 2.00000, 3.00000 3.000... | +False | +
3 | +MULTIPOLYGON (((3.00000 3.00000, 4.00000 4.000... | +False | +
4 | +MULTIPOLYGON (((4.00000 4.00000, 5.00000 5.000... | +False | +
iw{xHl=WXN({fH6*{W7}
zOB--Xo|6#7tCNyjP*8eG5SXc7Yzu+^G6lZ}pLRs+{>>fFdM{myw@n*kTy5zqzG7ft
z;O8gpNx6D2y*8bZYybW;rlyc}q)6L?XQ_FWw$5!O9<$o6EN=DvUZy>hzg2Pkp{y
zizoR{w8e&mgtW9MHvFz8V@Dx_b4h*Gtvu=K{8Ds&&LAiSmH;Roq>7-z*gs6(ML(
zI)7thBcZ;%JrBo4L_|-&=G?h+)1kq^3VwcT*rfOG-@i0mjr}w|H+LgIT=G7t3076D
z3_tb8ZumS{JlNg+z^l-#ik^U;N2>dhJ8}BP>Zl2pPEPDBER`-F6$w7Se;yjJkS~+`
zIo#bHRDIh?{P)YdVs>_RhYlSA7)+Sp9k6j^GBD`NGsq#Y|2g;0;+fCB^5(fEg;mPh
z%$oj7bhBsDg!YvuiuiExa?I(>%*;egsaVwb+BrDn=H!Hn1B&)Mrxnm{Zf$M)Ls1DN
zwYut?f0B 6e#W8E)}>T-DDKP8L+Wpze2kMCw?g@xbqy^;)@x3
z_+`FPk{nyNh6^pEg^v4^s-Ml-MtlpVF}?3qKmL7eY;5Al1002H?|o LK$o^!c5%9LR`e9TI%T7kt5Xg2#m3z&Z`ZDgPB(Is>>54EI6gWtBaT3~|_J(}g
z`yvu>N_)4pMzd}rIkTDUku~s>ztx#;Ls^D<*VD7pxfaQF0w{kEGjs6k_n1rU`<#%u
z5;gx0CT#54>nX-8VZ`aPjnDHRs{cQ*9QIb%{NL${zEt>}maPQgPijYx9ARN)1zDn-
z(EY;1Os=J^jnUr><8K*%u^^x_{v;%n2$s^9)O*)tJZBjR56{-zt2O%sL40$SeK42R
z7?KRjPFB`x`Oh&9G=0ccHQ^VML;)iAcfxLf3<{R|85%n5`3r+Zc?AVx`k(X{rYTniC!l>{q*C><
zrl#hETh-!JS7OgOP45#-
^lRTzQZ`)D@Oxa@*W5i<&X?J*+?f7ghDU^wQ>59zx4zK;PeDb=+qrT_
z4oEk?*zjxLRne%=;aGq5j6?ILa;vn5hP&Mxd9BUOwT*h9yVxl#tRZX!AD8vs%>=^y
z!a`enyS+YExpzP$HH1CAyx>%5rd|*hqV_rKiMdm##i)E`3{e=tdJ9dVjk(LX_Uga~
zLoVD&55PYn$tCDP!qd?{b@vQ8QL|#<3Jn|gAw39?7vY$ZvaUuZs28YBOp&l=%tIB1
zF?+oN0}Pfv|BDx4z=0VM++ew2
d=hhfxWDvd(mFdxIP993aW+-+#C!R%L50J53!wPfZJyk
zPL7XapFj79+MU@RFq+HH#hDc6WjKfLu4HVqc6U>P!~!UX?#u|(iRepfE8HJj0O?Zo
zc&7E-*2+i{T