[
https://issues.apache.org/jira/browse/AIRFLOW-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16975481#comment-16975481
]
ASF GitHub Bot commented on AIRFLOW-5730:
-----------------------------------------
kaxil commented on pull request #6399: [AIRFLOW-5730] Enable get_pandas_df on
PinotDbApiHook
URL: https://github.com/apache/airflow/pull/6399
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Enable get_pandas_df on PinotDbApiHook
> --------------------------------------
>
> Key: AIRFLOW-5730
> URL: https://issues.apache.org/jira/browse/AIRFLOW-5730
> Project: Apache Airflow
> Issue Type: Improvement
> Components: hooks
> Affects Versions: 1.10.5
> Reporter: Kengo Seki
> Assignee: Kengo Seki
> Priority: Major
>
> Currently, DruidDbApiHook and PinotDbApiHook disable their {{get_pandas_df}}
> methods by raising {{NotImplementedError}}.
> But they actually work as inherited from DbApiHook, as follows:
> {code}
> $ git diff
> diff --git a/airflow/contrib/hooks/pinot_hook.py
> b/airflow/contrib/hooks/pinot_hook.py
> index e617f8e9b..0864b3584 100644
> --- a/airflow/contrib/hooks/pinot_hook.py
> +++ b/airflow/contrib/hooks/pinot_hook.py
> @@ -90,8 +90,5 @@ class PinotDbApiHook(DbApiHook):
> def set_autocommit(self, conn, autocommit):
> raise NotImplementedError()
>
> - def get_pandas_df(self, sql, parameters=None):
> - raise NotImplementedError()
> -
> def insert_rows(self, table, rows, target_fields=None,
> commit_every=1000):
> raise NotImplementedError()
> diff --git a/airflow/hooks/druid_hook.py b/airflow/hooks/druid_hook.py
> index c3cd3cd71..e2e20f1ec 100644
> --- a/airflow/hooks/druid_hook.py
> +++ b/airflow/hooks/druid_hook.py
> @@ -158,8 +158,5 @@ class DruidDbApiHook(DbApiHook):
> def set_autocommit(self, conn, autocommit):
> raise NotImplementedError()
>
> - def get_pandas_df(self, sql, parameters=None):
> - raise NotImplementedError()
> -
> def insert_rows(self, table, rows, target_fields=None,
> commit_every=1000):
> raise NotImplementedError()
> {code}
> {code:title=Druid example}
> $ airflow connections list
> (snip)
> ├────────────────────────────────┼─────────────────────────────┼───────────────────────────┼────────┼────────────────┼──────────────────────┼────────────────────────────────┤
> │ 'druid_broker_default' │ 'druid-broker' │ 'localhost'
> │ 8082 │ False │ True │
> 'gAAAAABdrxvt...M1ideRO8233QG' │
> ╘════════════════════════════════╧═════════════════════════════╧═══════════════════════════╧════════╧════════════════╧══════════════════════╧════════════════════════════════╛
> $ ipython
> (snip)
> In [2]: from airflow.hooks.druid_hook import DruidDbApiHook
>
>
> In [3]: DruidDbApiHook().get_pandas_df("SELECT * FROM wikipedia WHERE
> sum_delta > %(num)d", {"num": 2000})
>
> [2019-10-23 23:28:18,606] {base_hook.py:89} INFO - Using connection to: id:
> druid_broker_default. Host: localhost, Port: 8082, Schema: None, Login: None,
> Password: None, extra: {'schema': 'http', 'endpoint': '/druid/v2/sql'}
> [2019-10-23 23:28:18,607] {druid_hook.py:140} INFO - Get the connection to
> druid broker on localhost using user None
> Out[3]:
> __time channel cityName
> comment ... sum_deleted sum_delta sum_metroCode
> user
> 0 2015-09-12T00:00:00.000Z #en.wikipedia Archiving case from
> [[Wikipedia:Sockpuppet inv... ... 0 3360 0
> Bbb23
> 1 2015-09-12T00:00:00.000Z #ja.wikipedia
> [[Special:Contributions/119.224.209.170|119.22... ... 0 6853
> 0 Kkairri
> 2 2015-09-12T01:00:00.000Z #en.wikipedia
> /* Hong Kong */ ... 0 4500 0
> Bertaut
> 3 2015-09-12T01:00:00.000Z #en.wikipedia Archiving 1
> discussion(s) from [[User talk:New... ... 0 3599
> 0 Lowercase sigmabot III
> 4 2015-09-12T01:00:00.000Z #en.wikipedia [[WP:AES|←]]Created
> page with '{{Infobox wildf... ... 0 13335 0
> Orygun
> .. ... ... ...
> ... ... ... ... ...
> ...
> 851 2015-09-12T23:00:00.000Z #pt.wikipedia Bem-vindo (usando
> [[WP:H|Huggle]]) (3.1.16) ... 0 2588 0
> Mobyduck
> 852 2015-09-12T23:00:00.000Z #pt.wikipedia adição de informação,
> renovação de conteúdos e... ... 0 3666 0
> Templarius 01
> 853 2015-09-12T23:00:00.000Z #ru.wikipedia [[ВП:←|←]] Новая
> страница: «{{редактирую|~~~~|... ... 0 6766 0
> Dulamas
> 854 2015-09-12T23:00:00.000Z #ru.wikipedia Tver [[ВП:×|отмена]] правки
> 73302711 участника [[Sp... ... 0 9302 0
> 94.241.56.71
> 855 2015-09-12T23:00:00.000Z #sr.wikipedia Нова страница:
> [[Датотека:US Open.svg|десно|20... ... 0 38443 0
> Самарџија
> [856 rows x 21 columns]
> {code}
> {code:title=Pinot example}
> $ airflow connections list
> (snip)
> ├────────────────────────────────┼─────────────────────────────┼───────────────────────────┼────────┼────────────────┼──────────────────────┼────────────────────────────────┤
> │ 'pinot_broker_default' │ 'pinot_broker_conn_id' │ 'localhost'
> │ 8000 │ False │ True │
> 'gAAAAABdrxRj...Afd51PZY94nfa' │
> ├────────────────────────────────┼─────────────────────────────┼───────────────────────────┼────────┼────────────────┼──────────────────────┼────────────────────────────────┤
> $ ipython
> (snip)
> In [2]: from airflow.contrib.hooks.pinot_hook import PinotDbApiHook
> In [3]: PinotDbApiHook().get_pandas_df("select sum('runs') from baseballStats
> where yearID>=%(num)d group by playerName", {"num": 2000})
> [2019-10-23 23:31:06,058] {base_hook.py:89} INFO - Using connection to: id:
> pinot_broker_default. Host: localhost, Port: 8000, Schema: None, Login: None,
> Password: None, extra: {'endpoint': '/query', 'schema': 'http'}
> [2019-10-23 23:31:06,059] {pinot_hook.py:48} INFO - Get the connection to
> pinot broker on localhost
> select sum('runs') from baseballStats where yearID>=2000 group by playerName
> Out[3]:
> playerName sum_runs
> 0 Adrian 1820.00000
> 1 Jose Antonio 1692.00000
> 2 Rafael 1565.00000
> 3 Brian Michael 1500.00000
> 4 Jose Alberto 1426.00000
> 5 Alexander Emmanuel 1426.00000
> 6 Derek Sanderson 1390.00000
> 7 Carlos 1314.00000
> 8 Johnny David 1300.00000
> 9 Ichiro 1261.00000
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)