Failure on cursor.fetchall()
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia da integration_test/utils/databricks/databricks_sql.py alla riga 89, quindi segui cursor.fetchall attraverso databricks/sql/client.py e la conversion pandas mostrata nel traceback. Riproduci il caso di integrazione e determina perché il risultato COUNT di una riga con dati nullable Int64 solleva TypeError; il lavoro è completato quando fetchall restituisce il conteggio senza questa eccezione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Recently started having issues with the fetchall() method. This exact code was working fine last week, but now this same query statement is throwing the errors seen below.
def databricks_sql_count(column, catalog, schema, table, where=""):
connection_cursor = open_connection()
cursor = connection_cursor["cursor"]
connection = connection_cursor["connection"]
query = f'SELECT COUNT({column}) FROM `{catalog}`.`{schema}`.`{table}` WHERE {where};'
cursor.execute(query)
response = cursor.fetchall()
close_connection(cursor, connection)
return response[0][0]
initial_count = databricks_sql_count('visitor_id',
catalog,
schema,
table,
f"created_at >= '{TEST_START_DATE}'")
integration_test/utils/databricks/databricks_sql.py:89: in databricks_sql_count
response = cursor.fetchall()
/usr/local/lib/python3.10/dist-packages/databricks/sql/client.py:670: in fetchall
return self.active_result_set.fetchall()
/usr/local/lib/python3.10/dist-packages/databricks/sql/client.py:944: in fetchall
return self._convert_arrow_table(self.fetchall_arrow())
/usr/local/lib/python3.10/dist-packages/databricks/sql/client.py:884: in _convert_arrow_table
res = df.to_numpy(na_value=None)
/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py:1981: in to_numpy
result = self._mgr.as_array(dtype=dtype, copy=copy, na_value=na_value)
self = BlockManager
Items: Index(['0'], dtype='object')
Axis 1: RangeIndex(start=0, stop=1, step=1)
ExtensionBlock: slice(0, 1, 1), 1 x 1, dtype: Int64
dtype = None, copy = True, na_value = Nonedef as_array( self, dtype: np.dtype | None = None, copy: bool = False, na_value: object = lib.no_default, ) -> np.ndarray: """ Convert the blockmanager data into an numpy array. Parameters ---------- dtype : np.dtype or None, default None Data type of the return array. copy : bool, default False If True then guarantee that a copy is returned. A value of False does not guarantee that the underlying data is not copied. na_value : object, default lib.no_default Value to be used as the missing value sentinel. Returns ------- arr : ndarray """ passed_nan = lib.is_float(na_value) and isna(na_value) if len(self.blocks) == 0: arr = np.empty(self.shape, dtype=float) return arr.transpose() if self.is_single_block: blk = self.blocks[0] if na_value is not lib.no_default: # We want to copy when na_value is provided to avoid # mutating the original object if lib.is_np_dtype(blk.dtype, "f") and passed_nan: # We are already numpy-float and na_value=np.nan pass else: copy = True if blk.is_extension: # Avoid implicit conversion of extension blocks to object # error: Item "ndarray" of "Union[ndarray, ExtensionArray]" has no # attribute "to_numpy" arr = blk.values.to_numpy( # type: ignore[union-attr] dtype=dtype, na_value=na_value, copy=copy, ).reshape(blk.shape) else: arr = np.array(blk.values, dtype=dtype, copy=copy) if using_copy_on_write() and not copy: arr = arr.view() arr.flags.writeable = False else: arr = self._interleave(dtype=dtype, na_value=na_value) # The underlying data was copied within _interleave, so no need # to further copy if copy=True or setting na_value if na_value is lib.no_default: pass elif arr.dtype.kind == "f" and passed_nan: pass else: arr[isna(arr)] = na_valueE TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
/usr/local/lib/python3.10/dist-packages/pandas/core/internals/managers.py:1701: TypeError
- Lingua principale
- Python
- Stelle
- 233
- Fork
- 152
- Merge medio
- 21h 5m
- PR unite (30g)
- 10
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di databricks/databricks-sql-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Tutte le issue di databricks/databricks-sql-python
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anthropics/skills#1811 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
speaches-ai/speaches#678 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
datalayer/mcp-compose#42 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
conda-forge/spacy-feedstock#177 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
UKGovernmentBEIS/inspect_evals#2523 ·