pandas API on Apache Spark
Explore Koalas docs »
Live notebook
·
Issues
·
Mailing list
Help Thirsty Koalas Devastated by Recent Fires
The Koalas project makes data scientists more productive when interacting with big data, by implementing the pandas DataFrame API on top of Apache Spark.
pandas is the de facto standard (single-node) DataFrame implementation in Python, while Spark is the de facto standard for big data processing. With this package, you can:
- Be immediately productive with Spark, with no learning curve, if you are already familiar with pandas.
- Have a single codebase that works both with pandas (tests, smaller datasets) and with Spark (distributed datasets).
We would love to have you try it and give us feedback, through our mailing lists or GitHub issues.
Try the Koalas 10 minutes tutorial on a live Jupyter notebook here. The initial launch can take up to several minutes.
Koalas can be installed in many ways such as Conda and pip.
# Conda
conda install koalas -c conda-forge
# pip
pip install koalas
See Installation for more details.
If you are a Databricks Runtime user, you can install Koalas using the Libraries tab on the cluster UI, or using dbutils
in a notebook as below for the regular Databricks Runtime,
dbutils.library.installPyPI("koalas")
dbutils.library.restartPython()
For Databricks Runtime for Machine Learning 6.0 and above, you can install it as follows.
%sh
pip install koalas
Note that Koalas requires Databricks Runtime 5.x or above. In the future, we will package Koalas out-of-the-box in both the regular Databricks Runtime and Databricks Runtime for Machine Learning.
Lastly, if your PyArrow version is 0.15+ and your PySpark version is lower than 3.0, it is best for you to set ARROW_PRE_0_15_IPC_FORMAT
environment variable to 1
manually.
Koalas will try its best to set it for you but it is impossible to set it if there is a Spark context already launched.
Now you can turn a pandas DataFrame into a Koalas DataFrame that is API-compliant with the former:
import databricks.koalas as ks
import pandas as pd
pdf = pd.DataFrame({'x':range(3), 'y':['a','b','b'], 'z':['a','b','b']})
# Create a Koalas DataFrame from pandas DataFrame
df = ks.from_pandas(pdf)
# Rename the columns
df.columns = ['x', 'y', 'z1']
# Do some operations in place:
df['x2'] = df.x * df.x
For more details, see Getting Started and Dependencies in the official documentation.
See Contributing Guide and Design Principles in the official documentation.
See FAQ in the official documentation.
See Best Practices in the official documentation.
See Koalas Talks and Blogs in the official documentation.