Я пытаюсь написать скрипт python, который подключается к Apache Drill, используя модуль pyobbc. Я могу успешно подключиться к drill, однако, когда я пытаюсь выполнить запрос, я получаю странную ошибку, которая выглядит как-то с кодировкой символов. Я добавил код ниже, и я использую Python 3.4. Я должен добавить, что я пробовал это с Pandas и без него и получил ту же ошибку, поэтому я думаю, что ошибка находится где-то в ODBC, но у меня нет опыта работы с ODBC.Apache Drill Возвращает тарабарщину через ODBC?
import pyodbc
import pandas as pd
MY_DSN = "DRIVER=/opt/mapr/drillodbc/lib/universal/libmaprdrillodbc.dylib;Host=localhost;Port=31010;ConnectionType=Direct;Catalog=Drill;Schema=mfs.views;AuthenticationType=No Authentication"
conn = pyodbc.connect(MY_DSN, autocommit=True)
employee_query = "SELECT * FROM cp.`employee.json`"
data = pd.read_sql(employee_query, conn)
Здесь ошибка:
Error Traceback (most recent call last) //anaconda/lib/python3.4/site-packages/pandas/io/sql.py in execute(self, *args, **kwargs) 1471 else: -> 1472 cur.execute(*args) 1473 return cur
Error: ('HY000', '[HY000] [MapR][Drill] (1040) Drill failed to execute the query: ����������������\n[30027]Query execution error. Details:[ \nPARSE ERROR: Lexical error at line 1, column 1. Encountered: "\ufffd" (65533), after : ""\n\n\n[Error Id: 669ea9b9-34d6-4281-8898-57e8d0 (1040) (SQLExecDirectW)')
Я попытался сделать это изменение и перезапустить сверло, но у меня такая же ошибка. Могут ли быть другие переменные конфигурации где-то еще, что может потребоваться установить? – cgivre
с такой же проблемой. Я отправлю сообщение, если найду решение –