apache-airflow-providers-elasticsearch 6.2.2__tar.gz → 6.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-elasticsearch might be problematic. Click here for more details.
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/PKG-INFO +10 -10
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/README.rst +5 -5
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/changelog.rst +21 -0
- apache_airflow_providers_elasticsearch-6.3.0/docs/commits.rst +35 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/index.rst +6 -6
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/logging/index.rst +1 -1
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/provider.yaml +6 -2
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/pyproject.toml +6 -6
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/__init__.py +3 -3
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/hooks/elasticsearch.py +11 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/version_compat.py +0 -1
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/hooks/test_elasticsearch.py +6 -2
- apache_airflow_providers_elasticsearch-6.2.2/docs/commits.rst +0 -808
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/conf.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/connections/elasticsearch.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/hooks/elasticsearch_python_hook.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/hooks/elasticsearch_sql_hook.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/hooks/index.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/integration-logos/Elasticsearch.png +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/redirects.txt +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/docs/security.rst +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/LICENSE +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/get_provider_info.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/hooks/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/log/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/log/es_json_formatter.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/log/es_response.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/src/airflow/providers/elasticsearch/log/es_task_handler.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/conftest.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/system/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/system/elasticsearch/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/system/elasticsearch/example_elasticsearch_query.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/hooks/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/elasticmock/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/elasticmock/fake_elasticsearch.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/elasticmock/utilities/__init__.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/test_es_json_formatter.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/test_es_response.py +0 -0
- {apache_airflow_providers_elasticsearch-6.2.2 → apache_airflow_providers_elasticsearch-6.3.0}/tests/unit/elasticsearch/log/test_es_task_handler.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-elasticsearch
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.3.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-elasticsearch for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,elasticsearch,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -20,12 +20,12 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
Requires-Dist: apache-airflow>=2.
|
|
24
|
-
Requires-Dist: apache-airflow-providers-common-sql>=1.
|
|
23
|
+
Requires-Dist: apache-airflow>=2.10.0
|
|
24
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.27.0
|
|
25
25
|
Requires-Dist: elasticsearch>=8.10,<9
|
|
26
26
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
27
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
28
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
27
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/changelog.html
|
|
28
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0
|
|
29
29
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
30
30
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
31
31
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -56,7 +56,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
56
56
|
|
|
57
57
|
Package ``apache-airflow-providers-elasticsearch``
|
|
58
58
|
|
|
59
|
-
Release: ``6.
|
|
59
|
+
Release: ``6.3.0``
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
`Elasticsearch <https://www.elastic.co/elasticsearch>`__
|
|
@@ -69,7 +69,7 @@ This is a provider package for ``elasticsearch`` provider. All classes for this
|
|
|
69
69
|
are in ``airflow.providers.elasticsearch`` python package.
|
|
70
70
|
|
|
71
71
|
You can find package information and changelog for the provider
|
|
72
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
72
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/>`_.
|
|
73
73
|
|
|
74
74
|
Installation
|
|
75
75
|
------------
|
|
@@ -86,8 +86,8 @@ Requirements
|
|
|
86
86
|
======================================= ==================
|
|
87
87
|
PIP package Version required
|
|
88
88
|
======================================= ==================
|
|
89
|
-
``apache-airflow`` ``>=2.
|
|
90
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
|
89
|
+
``apache-airflow`` ``>=2.10.0``
|
|
90
|
+
``apache-airflow-providers-common-sql`` ``>=1.27.0``
|
|
91
91
|
``elasticsearch`` ``>=8.10,<9``
|
|
92
92
|
======================================= ==================
|
|
93
93
|
|
|
@@ -111,5 +111,5 @@ Dependent package
|
|
|
111
111
|
============================================================================================================ ==============
|
|
112
112
|
|
|
113
113
|
The changelog for the provider package can be found in the
|
|
114
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
114
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/changelog.html>`_.
|
|
115
115
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-elasticsearch``
|
|
25
25
|
|
|
26
|
-
Release: ``6.
|
|
26
|
+
Release: ``6.3.0``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
`Elasticsearch <https://www.elastic.co/elasticsearch>`__
|
|
@@ -36,7 +36,7 @@ This is a provider package for ``elasticsearch`` provider. All classes for this
|
|
|
36
36
|
are in ``airflow.providers.elasticsearch`` python package.
|
|
37
37
|
|
|
38
38
|
You can find package information and changelog for the provider
|
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/>`_.
|
|
40
40
|
|
|
41
41
|
Installation
|
|
42
42
|
------------
|
|
@@ -53,8 +53,8 @@ Requirements
|
|
|
53
53
|
======================================= ==================
|
|
54
54
|
PIP package Version required
|
|
55
55
|
======================================= ==================
|
|
56
|
-
``apache-airflow`` ``>=2.
|
|
57
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
|
56
|
+
``apache-airflow`` ``>=2.10.0``
|
|
57
|
+
``apache-airflow-providers-common-sql`` ``>=1.27.0``
|
|
58
58
|
``elasticsearch`` ``>=8.10,<9``
|
|
59
59
|
======================================= ==================
|
|
60
60
|
|
|
@@ -78,4 +78,4 @@ Dependent package
|
|
|
78
78
|
============================================================================================================ ==============
|
|
79
79
|
|
|
80
80
|
The changelog for the provider package can be found in the
|
|
81
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
81
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/changelog.html>`_.
|
|
@@ -27,6 +27,27 @@
|
|
|
27
27
|
Changelog
|
|
28
28
|
---------
|
|
29
29
|
|
|
30
|
+
6.3.0
|
|
31
|
+
.....
|
|
32
|
+
|
|
33
|
+
.. note::
|
|
34
|
+
This release of provider is only available for Airflow 2.10+ as explained in the
|
|
35
|
+
Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
|
|
36
|
+
|
|
37
|
+
Misc
|
|
38
|
+
~~~~
|
|
39
|
+
|
|
40
|
+
* ``Migrate 'ElasticsearchSQLHook' to use 'get_df' (#50454)``
|
|
41
|
+
* ``Remove AIRFLOW_2_10_PLUS conditions (#49877)``
|
|
42
|
+
* ``Bump min Airflow version in providers to 2.10 (#49843)``
|
|
43
|
+
|
|
44
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
45
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
46
|
+
* ``Update description of provider.yaml dependencies (#50231)``
|
|
47
|
+
* ``Avoid committing history for providers (#49907)``
|
|
48
|
+
* ``test: migrate 'get_pandas_df' to 'get_df' in 'provider' test (#49339)``
|
|
49
|
+
* ``capitalize the term airflow (#49450)``
|
|
50
|
+
|
|
30
51
|
6.2.2
|
|
31
52
|
.....
|
|
32
53
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
or more contributor license agreements. See the NOTICE file
|
|
4
|
+
distributed with this work for additional information
|
|
5
|
+
regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
to you under the Apache License, Version 2.0 (the
|
|
7
|
+
"License"); you may not use this file except in compliance
|
|
8
|
+
with the License. You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
.. Unless required by applicable law or agreed to in writing,
|
|
13
|
+
software distributed under the License is distributed on an
|
|
14
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
KIND, either express or implied. See the License for the
|
|
16
|
+
specific language governing permissions and limitations
|
|
17
|
+
under the License.
|
|
18
|
+
|
|
19
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
|
20
|
+
|
|
21
|
+
.. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
|
22
|
+
`PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
|
23
|
+
|
|
24
|
+
.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN!
|
|
25
|
+
|
|
26
|
+
Package apache-airflow-providers-elasticsearch
|
|
27
|
+
------------------------------------------------------
|
|
28
|
+
|
|
29
|
+
`Elasticsearch <https://www.elastic.co/elasticsearch>`__
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
This is detailed commit list of changes for versions provider package: ``elasticsearch``.
|
|
33
|
+
For high-level changelog, see :doc:`package information including changelog <index>`.
|
|
34
|
+
|
|
35
|
+
.. airflow-providers-commits::
|
|
@@ -79,7 +79,7 @@ apache-airflow-providers-elasticsearch package
|
|
|
79
79
|
`Elasticsearch <https://www.elastic.co/elasticsearch>`__
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
Release: 6.
|
|
82
|
+
Release: 6.3.0
|
|
83
83
|
|
|
84
84
|
Provider package
|
|
85
85
|
----------------
|
|
@@ -97,13 +97,13 @@ For the minimum Airflow version supported, see ``Requirements`` below.
|
|
|
97
97
|
Requirements
|
|
98
98
|
------------
|
|
99
99
|
|
|
100
|
-
The minimum Apache Airflow version supported by this provider distribution is ``2.
|
|
100
|
+
The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
|
|
101
101
|
|
|
102
102
|
======================================= ==================
|
|
103
103
|
PIP package Version required
|
|
104
104
|
======================================= ==================
|
|
105
|
-
``apache-airflow`` ``>=2.
|
|
106
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
|
105
|
+
``apache-airflow`` ``>=2.10.0``
|
|
106
|
+
``apache-airflow-providers-common-sql`` ``>=1.27.0``
|
|
107
107
|
``elasticsearch`` ``>=8.10,<9``
|
|
108
108
|
======================================= ==================
|
|
109
109
|
|
|
@@ -132,5 +132,5 @@ Downloading official packages
|
|
|
132
132
|
You can download officially released packages and verify their checksums and signatures from the
|
|
133
133
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
134
134
|
|
|
135
|
-
* `The apache-airflow-providers-elasticsearch 6.
|
|
136
|
-
* `The apache-airflow-providers-elasticsearch 6.
|
|
135
|
+
* `The apache-airflow-providers-elasticsearch 6.3.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0.tar.gz.sha512>`__)
|
|
136
|
+
* `The apache-airflow-providers-elasticsearch 6.3.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_elasticsearch-6.3.0-py3-none-any.whl.sha512>`__)
|
|
@@ -22,7 +22,7 @@ Writing logs to Elasticsearch
|
|
|
22
22
|
|
|
23
23
|
Airflow can be configured to read task logs from Elasticsearch and optionally write logs to stdout in standard or json format. These logs can later be collected and forwarded to the Elasticsearch cluster using tools like fluentd, logstash or others.
|
|
24
24
|
|
|
25
|
-
Airflow also supports writing log to Elasticsearch directly without requiring additional software like filebeat and logstash. To enable this feature, set ``write_to_es`` and ``json_format`` to ``True`` and ``write_stdout`` to ``False`` in ``airflow.cfg``. Please be aware that if you set both ``write_to_es`` and ``delete_local_logs`` in logging section to true,
|
|
25
|
+
Airflow also supports writing log to Elasticsearch directly without requiring additional software like filebeat and logstash. To enable this feature, set ``write_to_es`` and ``json_format`` to ``True`` and ``write_stdout`` to ``False`` in ``airflow.cfg``. Please be aware that if you set both ``write_to_es`` and ``delete_local_logs`` in logging section to true, Airflow will delete the local copy of task logs upon successfully writing task logs to ElasticSearch.
|
|
26
26
|
|
|
27
27
|
You can choose to have all task logs from workers output to the highest parent level process, instead of the standard file locations. This allows for some additional flexibility in container environments like Kubernetes, where container stdout is already being logged to the host nodes. From there a log shipping tool can be used to forward them along to Elasticsearch. To use this feature, set the ``write_stdout`` option in ``airflow.cfg``.
|
|
28
28
|
You can also choose to have the logs output in a JSON format, using the ``json_format`` option. Airflow uses the standard Python logging module and JSON fields are directly extracted from the LogRecord object. To use this feature, set the ``json_fields`` option in ``airflow.cfg``. Add the fields to the comma-delimited string that you want collected for the logs. These fields are from the LogRecord object in the ``logging`` module. `Documentation on different attributes can be found here <https://docs.python.org/3/library/logging.html#logrecord-objects/>`_.
|
|
@@ -22,9 +22,13 @@ description: |
|
|
|
22
22
|
`Elasticsearch <https://www.elastic.co/elasticsearch>`__
|
|
23
23
|
|
|
24
24
|
state: ready
|
|
25
|
-
source-date-epoch:
|
|
26
|
-
#
|
|
25
|
+
source-date-epoch: 1747132714
|
|
26
|
+
# Note that those versions are maintained by release manager - do not update them manually
|
|
27
|
+
# with the exception of case where other provider in sources has >= new provider version.
|
|
28
|
+
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
29
|
+
# to be done in the same PR
|
|
27
30
|
versions:
|
|
31
|
+
- 6.3.0
|
|
28
32
|
- 6.2.2
|
|
29
33
|
- 6.2.1
|
|
30
34
|
- 6.2.0
|
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-elasticsearch"
|
|
28
|
-
version = "6.
|
|
28
|
+
version = "6.3.0"
|
|
29
29
|
description = "Provider package apache-airflow-providers-elasticsearch for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -57,8 +57,8 @@ requires-python = "~=3.9"
|
|
|
57
57
|
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
|
|
58
58
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
|
59
59
|
dependencies = [
|
|
60
|
-
"apache-airflow>=2.
|
|
61
|
-
"apache-airflow-providers-common-sql>=1.
|
|
60
|
+
"apache-airflow>=2.10.0",
|
|
61
|
+
"apache-airflow-providers-common-sql>=1.27.0",
|
|
62
62
|
"elasticsearch>=8.10,<9",
|
|
63
63
|
]
|
|
64
64
|
|
|
@@ -69,7 +69,7 @@ dev = [
|
|
|
69
69
|
"apache-airflow-devel-common",
|
|
70
70
|
"apache-airflow-providers-common-sql",
|
|
71
71
|
# Additional devel dependencies (do not remove this line and add extra development dependencies)
|
|
72
|
-
"apache-airflow-providers-common-sql[pandas]",
|
|
72
|
+
"apache-airflow-providers-common-sql[pandas,polars]",
|
|
73
73
|
]
|
|
74
74
|
|
|
75
75
|
# To build docs:
|
|
@@ -98,8 +98,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
98
98
|
apache-airflow-providers-standard = {workspace = true}
|
|
99
99
|
|
|
100
100
|
[project.urls]
|
|
101
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
102
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.
|
|
101
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0"
|
|
102
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.3.0/changelog.html"
|
|
103
103
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
104
104
|
"Source Code" = "https://github.com/apache/airflow"
|
|
105
105
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "6.
|
|
32
|
+
__version__ = "6.3.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.10.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-elasticsearch:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-elasticsearch:{__version__}` needs Apache Airflow 2.10.0+"
|
|
39
39
|
)
|
|
@@ -219,6 +219,17 @@ class ElasticsearchSQLHook(DbApiHook):
|
|
|
219
219
|
|
|
220
220
|
return uri
|
|
221
221
|
|
|
222
|
+
def _get_polars_df(
|
|
223
|
+
self,
|
|
224
|
+
sql,
|
|
225
|
+
parameters: list | tuple | Mapping[str, Any] | None = None,
|
|
226
|
+
**kwargs,
|
|
227
|
+
):
|
|
228
|
+
# TODO: Custom ElasticsearchSQLCursor is incompatible with polars.read_database.
|
|
229
|
+
# To support: either adapt cursor to polars._executor interface or create custom polars reader.
|
|
230
|
+
# https://github.com/apache/airflow/pull/50454
|
|
231
|
+
raise NotImplementedError("Polars is not supported for Elasticsearch")
|
|
232
|
+
|
|
222
233
|
|
|
223
234
|
class ElasticsearchPythonHook(BaseHook):
|
|
224
235
|
"""
|
|
@@ -32,5 +32,4 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
|
|
|
32
32
|
return airflow_version.major, airflow_version.minor, airflow_version.micro
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
AIRFLOW_V_2_10_PLUS = get_base_airflow_version_tuple() >= (2, 10, 0)
|
|
36
35
|
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
|
|
@@ -166,9 +166,9 @@ class TestElasticsearchSQLHook:
|
|
|
166
166
|
self.spy_agency.assert_spy_called(self.cur.close)
|
|
167
167
|
self.spy_agency.assert_spy_called(self.cur.execute)
|
|
168
168
|
|
|
169
|
-
def
|
|
169
|
+
def test_get_df_pandas(self):
|
|
170
170
|
statement = "SELECT * FROM hollywood.actors"
|
|
171
|
-
df = self.db_hook.
|
|
171
|
+
df = self.db_hook.get_df(statement, df_type="pandas")
|
|
172
172
|
|
|
173
173
|
assert list(df.columns) == ["index", "name", "firstname", "age"]
|
|
174
174
|
assert df.values.tolist() == ROWS
|
|
@@ -177,6 +177,10 @@ class TestElasticsearchSQLHook:
|
|
|
177
177
|
self.spy_agency.assert_spy_called(self.cur.close)
|
|
178
178
|
self.spy_agency.assert_spy_called(self.cur.execute)
|
|
179
179
|
|
|
180
|
+
def test_get_df_polars(self):
|
|
181
|
+
with pytest.raises(NotImplementedError):
|
|
182
|
+
self.db_hook.get_df("SQL", df_type="polars")
|
|
183
|
+
|
|
180
184
|
def test_run(self):
|
|
181
185
|
statement = "SELECT * FROM hollywood.actors"
|
|
182
186
|
|