<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ibis | Democratizing Data</title><link>https://b94feae1.chezo-uno.pages.dev/categories/ibis/</link><atom:link href="https://b94feae1.chezo-uno.pages.dev/categories/ibis/index.xml" rel="self" type="application/rss+xml"/><description>Ibis</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><copyright>© Aki Ariga 2017-2025</copyright><lastBuildDate>Sat, 15 Oct 2016 06:10:31 +0900</lastBuildDate><image><url>https://b94feae1.chezo-uno.pages.dev/media/icon_hu_9ca82a90e0d162db.png</url><title>Ibis</title><link>https://b94feae1.chezo-uno.pages.dev/categories/ibis/</link></image><item><title>Building predictive Model with Ibis, Impala and scikit-learn</title><link>https://b94feae1.chezo-uno.pages.dev/blog/2016-10-15_building-predictive-model-with-ibis--impala-and-scikit-learn-356b41f404e0/</link><pubDate>Sat, 15 Oct 2016 06:10:31 +0900</pubDate><guid>https://b94feae1.chezo-uno.pages.dev/blog/2016-10-15_building-predictive-model-with-ibis--impala-and-scikit-learn-356b41f404e0/</guid><description>&lt;h3 id="tldr">tl;dr&lt;/h3>
&lt;ul>
&lt;li>visualizing &lt;a href="http://grouplens.org/datasets/movielens/" target="_blank" rel="noopener">MovieLens&lt;/a> 20M data (famous movie rating data) with &lt;a href="http://www.ibis-project.org/" target="_blank" rel="noopener">Ibis&lt;/a>&lt;/li>
&lt;li>build predictive model for movie favor with scikit-learn&lt;/li>
&lt;li>&lt;a href="https://github.com/chezou/ibis-demo" target="_blank" rel="noopener">repo&lt;/a> / &lt;a href="https://github.com/chezou/ibis-demo/blob/master/ibis_demo_en.ipynb" target="_blank" rel="noopener">notebook&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="what-isibis">What is Ibis?&lt;/h3>
&lt;p>Ibis is a bridge between Python and Big Data. Ibis enables pandas handling Big Data.&lt;/p>
&lt;p>&lt;figure>&lt;img src="https://b94feae1.chezo-uno.pages.dev/blog/2016-10-15_building-predictive-model-with-ibis--impala-and-scikit-learn-356b41f404e0/1_pLXvJbXk8kJU09iwc4Dbdg.png">&lt;figcaption>
&lt;h4>architecture of Ibis&lt;/h4>
&lt;/figcaption>
&lt;/figure>
architecture of Ibis&lt;/p>
&lt;p>For more detail, see Wes’s presentation.&lt;/p>
&lt;p>As you know, pandas is known as a killer application for data analysis. In my previous job, which is known as a developer of &lt;a href="https://speakerdeck.com/a_matsuda/the-recipe-for-the-worlds-largest-rails-monolith" target="_blank" rel="noopener">world largest monolithic Ruby on Rails application&lt;/a>, many Rails developer attracted with pandas and Jupyter notebook for sharing analysis result.&lt;/p>
&lt;h3 id="why-ibis">Why Ibis?&lt;/h3>
&lt;p>pandas loads data on memory, so we have to filter with some SQL before analyzing. But we actually want to get insight and handle without SQL.&lt;/p>
&lt;h3 id="preparation">Preparation&lt;/h3>
&lt;h3 id="impala-cluster">Impala cluster&lt;/h3>
&lt;ul>
&lt;li>CDH 5.7 with Cloudera Director 2.1&lt;/li>
&lt;li>table is created with parquet on S3&lt;/li>
&lt;/ul>
&lt;h4 id="required-port">required port&lt;/h4>
&lt;ul>
&lt;li>impalad node’s 21050 port&lt;/li>
&lt;li>NN’s 50070 port&lt;/li>
&lt;/ul>
&lt;h3 id="ibis">Ibis&lt;/h3>
&lt;ul>
&lt;li>Python 3.5&lt;/li>
&lt;li>using wheel and virtualenv, I didn’t use anaconda&lt;/li>
&lt;/ul>
&lt;h3 id="notebook">Notebook&lt;/h3>
&lt;p>Full notebook repo is &lt;a href="https://github.com/chezou/ibis-demo/" target="_blank" rel="noopener">here&lt;/a>. I also executed same code for Redshift, but several dialects prevent execution…&lt;/p>
&lt;p>&lt;a href="https://github.com/chezou/ibis-demo/blob/master/ibis_demo_redshift.ipynb" title="https://github.com/chezou/ibis-demo/blob/master/ibis_demo_redshift.ipynb" target="_blank" rel="noopener">&lt;strong>chezou/ibis-demo&lt;/strong>&lt;br>
_ibis-demo - Demo notebook of Ibis for &amp;ldquo;Spark + Python + Dita science Festival&amp;rdquo;_github.com&lt;/a>&lt;a href="https://github.com/chezou/ibis-demo/blob/master/ibis_demo_redshift.ipynb" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;h3 id="faq">FAQ&lt;/h3>
&lt;h4 id="what-is-the-difference-betweenpyspark">What is the difference between PySpark?&lt;/h4>
&lt;ul>
&lt;li>Easy to setup. It is just like connecting DB&lt;/li>
&lt;li>Fast x10. So that we can x10 experiences. It makes us innovations!&lt;/li>
&lt;li>We can rapid prototyping with Ibis.&lt;/li>
&lt;/ul>
&lt;h4 id="which-is-prefer-to-build-model-ibis--scikit-learn-or-spark-mllib">Which is prefer to build model Ibis + scikit-learn or Spark + MLlib?&lt;/h4>
&lt;ul>
&lt;li>It depends on data size.&lt;/li>
&lt;li>&lt;a href="https://www.infoq.com/news/2016/07/meson-framework-netflix" target="_blank" rel="noopener">Netflix uses Spark and R for building predictive models&lt;/a>. Netflix uses R in order to model filtered data such as specific country, and they use Spark for global model.&lt;/li>
&lt;/ul></description></item></channel></rss>