Comments (4)
Is the value of execution_time_in_millis
that can be retrieved from the cursor object the same as the value of Athena's web console?
Perhaps it seems that fetching data of PyAthena is slow. If the result set is large, using PandasCursor is faster.
https://github.com/laughingman7743/PyAthena#pandascursor
For the comparison result between Cursor and PandasCursor, refer to the following GIST.
https://gist.github.com/laughingman7743/2e4d83ca4e394dc645e9ea9a45fe78ba
from pyathena.
@laughingman7743 Yes, the value of execution_time_in_millis
and the value of Athena's web console is the same.
I edited the execute function of the Cursor class as below and logging in the execution times. The conclusion of 2-5 seconds delay is based on this.
@synchronized
def execute(self, operation, parameters=None):
start = time.time()
self._reset_state()
self._query_id = self._execute(operation, parameters)
query_execution = self._poll(self._query_id)
diff1 = time.time() - start
logging.info("Time taken for polling to finish: " + str(diff1))
if query_execution.state == AthenaQueryExecution.STATE_SUCCEEDED:
self._result_set = AthenaResultSet(
self._connection, self._converter, query_execution, self.arraysize,
self.retry_exceptions, self.retry_attempt, self.retry_multiplier,
self.retry_max_delay, self.retry_exponential_base)
diff2 = time.time() - start
logging.info("Time taken for returning the result " + str(diff2))
else:
raise OperationalError(query_execution.state_change_reason)
from pyathena.
PyAthena only internally calls boto3 API (https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html). Is there a delay when executing directly in boto3?
Since PyAthena fetches 1000 rows when creating a ResultSet object, I think it is somewhat slow.
How about trying a new JDBC driver because it seems to process result set streaming?
https://docs.aws.amazon.com/athena/latest/ug/release-note-2018-08-16.html
from pyathena.
There is a delay even while executing directly from boto3. Please refer to this gist for the same.
https://gist.github.com/abhilash1994/3007d93352edea1dfbae04e132da41b7
from pyathena.
Related Issues (20)
- Compatibility issue with SQLAlchemy<1.4 HOT 2
- `UUID` in a query gets garbled HOT 3
- Add support for Spark calculations HOT 8
- Add Endpoint_URL param to SQLAlchemy HOT 2
- SQLAlchemy dialect uses deprecated dbapi() method HOT 1
- Create documents in Sphinx and publish them on GitHub Pages HOT 1
- Breaking change in the release between 3.0.10 and 3.1.0 HOT 6
- Okta authentication support HOT 1
- Integer variant types incorrectly rendered in DDL HOT 5
- Support for Iceberg FOR SYSTEM_VERSION AS OF HOT 7
- AWS Error NETWORK_CONNECTION during HeadObject operation: curlCode: 28, Timeout was reached HOT 2
- FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas.
- Latest PyAthena no longer compatible with SQLAlchemy 1.4
- [Warning] SADeprecationWarning: The dbapi() classmethod on dialect classes has been renamed to import_dbapi(). HOT 1
- pyathena.error.DatabaseError: An error occurred (InvalidRequestException) when calling the StartQueryExecution operation: line 1:3242: mismatched input 'OFFSET'. Expecting: <EOF> HOT 2
- If a value for a partition key is None, to_sql doesn't warn you and no data is written
- GENERIC_INTERNAL_ERROR: io.trino.hdfs.s3.TrinoS3FileSystem$UnrecoverableS3OperationException HOT 1
- URLLIB3 / Requests HOT 4
- Formatter does not escape single quotes when operation is MERGE or UPDATE HOT 1
- Feature request: support for positional parameter substitution HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyathena.