TypeError: expected string or bytes-like object

Abierto
#415 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python, sqlalchemy
Área
databases

Línea de trabajo

Empieza en pyhive/sqlalchemy_hive.py, en HiveDialect.get_columns, especialmente en el análisis alrededor de la línea 324, y reproduce el fallo con el esquema de Hive proporcionado que contiene un salto de línea en el comentario de una columna. Revisa las pruebas existentes del dialecto de SQLAlchemy para get_columns; el trabajo estará terminado cuando la reflexión ya no produzca TypeError para este esquema y devuelva los metadatos de las columnas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

my hive table comment contain '\n'

hive schema:
CREATE EXTERNAL TABLE test.test_01( name string COMMENT 'aa bb\ncc');
pyhive rows:
['name', 'string', 'aa bb
cc']

TypeError: expected string or bytes-like object
File "/usr/lib/python3.6.14/lib/python3.6/site-packages/pyhive/sqlalchemy_hive.py", line 324, in get_columns
311 def get_columns(self, connection, table_name, schema=None, **kw):
(...)
320 break
321 # Take out the more detailed type information
322 # e.g. 'map<int,int>' -> 'map'
323 # 'decimal(10,1)' -> decimal
--> 324 col_type = re.search(r'^\w+', full_col_type).group(0)
325 try:
..................................................
self = <pyhive.sqlalchemy_hive.HiveDialect object at 0x7ff3fd0d2cc0>
connection = <sqlalchemy.engine.base.Connection object at 0x7ff3cad2e0b8>
table_name = 'ewsgz_ods_pck_info'
schema = 'hudi'
kw = {'info_cache': {}}
col_type = 'bigint'
re.search = <function 'search' re.py:179>
full_col_type = None
..................................................

File "/usr/lib/python3.6.14/lib/python3.6/re.py", line 182, in search
179 def search(pattern, string, flags=0):
180 """Scan through string looking for a match to the pattern, returning
181 a match object, or None if no match was found."""
--> 182 return _compile(pattern, flags).search(string)
..................................................
pattern = '^\w+'
string = None
flags = 0

Lenguaje dominante
Python
Estrellas
1.7k
Forks
545
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dropbox/PyHive

Todos los issues de dropbox/PyHive

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.