v0.11.5b1
Pre-release
Pre-release
Features
- Add support for arrow table preview reader
- Enhance support for Apache Superset
- Add support for storage tier on tables and partitions
- (Experimental) Add support for tunnel upsert
Bugfixes
- Fill partition value for tunnel records
- Use PERCENTILE_APPROX for doubles under ODPS 2.0
- Convert all requirement files to UNIX format for pyodps-pack
- Fix error when reloading volume tunnel session
- Fix logview setting not working in options
- Dump SQL statement when encountered ParseError
- Remove misplaced warnings when pickling user functions
- Fix errors of to_pandas for InSessionInstance readers
- Fix position of tablesample clause for sample
- Fix compatibility for SQLAlchemy 2.0
- Fix results of value_counts when values are None
- Remove empty equal mark for url actions
Enhancements
- Supports scanning dependencies for pkg_resources
- Add PEP517 args for pyodps-pack
- Persist pandas dataframes in batches
- Use date in response headers to replace fields in Schemas
- Add detailed logs for sign server on errors
- Make option context as thread locals
- Adapt to extended types for ODPS arrow format
- Supports schema API along with SQL implementations
- Add support for MaxFieldSize passed by server end
- Add options to allow keeping resources for DataFrame
- Add support for timestamp_ntz type
- Refine error message for malfunctioning create instance response
- Allow adding custom log handlers to support displaying logs in notebook kernels
- Allow using run_sql to execute merge smallfiles or compact commands
- Allow specifying transactional table property
- Unify verbose_log into standard Python logging and dump progress when waiting for instances
- Return struct values as namedtuples by default and fix DataFrame customized functions on complex types
Documentations
- Fix pyodps-pack doc on docker requirements
- Add doc for timezone setting
- Make bare tunnel docs more explicit
- Refine documents of instance tunnel limit
Compatibility issues
- PyODPS now returns struct values as namedtuples for tunnels to keep consistency with UDFs. For most of the cases your code might still work. If it doesn't, try configuring
options.struct_as_dict = True
.