This topic introduces Python on MaxCompute (PyODPS) and its common usage.
Background information
PyODPS is the MaxCompute SDK for Python. PyODPS supports the DataFrame framework and basic operations on MaxCompute objects. You can use PyODPS to analyze data in MaxCompute.
PyODPS supports Python 2.6 and later, and Python 3.
Read the following documentation to get familiar with PyODPS:
- For more information about PyODPS, see PyODPS: ODPS Python SDK and data analysis framework and PyODPS-related articles.
- For more information about how to download PyODPS, visit GitHub.
- For more information about how to install PyODPS, see PyODPS installation instructions.
- For more information about how to develop PyODPS, see PyODPS developer guide.
If you have the interest to help build the PyODPS ecosystem, you can perform the following
operations:
- Cooperate in writing PyODPS documentation.
- Develop PyODPS code at GitHub.
- Join the DingTalk group for technical communication. To join, find and enter group number 11701793.
Initialization
Before you use PyODPS, run the following command to initialize a connection to MaxCompute
by using your Alibaba Cloud account:
from odps import ODPS
odps = ODPS('**your-access-id**', '**your-secret-access-key**', '**your-default-project**',endpoint='**your-end-point**')
Parameter description:
- your-access-id: the AccessKey ID of your Alibaba Cloud account.
- your-secret-access-key: the AccessKey secret of your Alibaba Cloud account.
- your-default-project: the name of the project.
- your-end-point: the endpoint of the region where your MaxCompute project resides. For more information, see Configure endpoints.
After you initialize the connection, you can use PyODPS to manage MaxCompute objects, such as tables, resources, and functions.
Method description
The following table lists the available basic methods that PyODPS provides for you
to use on MaxCompute objects.
Item | Method | Description |
---|---|---|
Project | get_project(project_name) | Obtains a project. |
exist_project(project_name) | Checks whether a project exists. | |
Table | list_tables() | Lists all tables in a project. |
exist_table(table_name) | Checks whether a table exists. | |
get_table(table_name,project=project_name) | Obtains a specified table in the current project or another specified project. | |
create_table() | Creates a table. | |
read_table() | Reads data from a table. | |
write_table() | Writes data to a table. | |
delete_table() | Deletes a table. | |
Table partition | exist_partition() | Checks whether a partition exists. |
get_partition() | Obtains a partition. | |
create_partition() | Creates a partition. | |
delete_partition() | Deletes a partition. | |
SQL | execute_sql()/run_sql() | Executes an SQL statement. |
open_reader() | Reads execution results. | |
Instance | list_instances() | Lists all instances in a project. |
exist_instance() | Checks whether an instance exists. | |
get_instance() | Obtains an instance. | |
stop_instance() | Terminates an instance. | |
Resource | create_resource() | Creates a resource. |
open_resource() | Opens a resource. | |
get_resource() | Obtains a resource. | |
list_resources() | Lists all resources. | |
exist_resource() | Checks whether a resource exists. | |
delete_resource() | Deletes a resource. | |
Function | create_function() | Creates a function. |
delete_function() | Deletes a function. | |
Data upload or download channel | create_upload_session() | Creates a session that uploads data. |
create_download_session() | Creates a session that downloads data. |