Skip to content

Commit 6558cbc

Browse files
committed
Add test_to_parquet_casting_to_string
1 parent 9521731 commit 6558cbc

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

awswrangler/glue.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,8 @@ def _build_schema(dataframe,
195195
try:
196196
athena_type = data_types.pyarrow2athena(dtype)
197197
except UnsupportedType:
198-
raise UnsupportedType(f"Unsupported Pyarrow type for column {name}: {dtype}")
198+
raise UnsupportedType(
199+
f"Unsupported Pyarrow type for column {name}: {dtype}")
199200
if name in partition_cols:
200201
partition_cols_types[name] = athena_type
201202
else:

testing/test_awswrangler/test_pandas.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,33 @@ def test_to_parquet_with_pyarrow_null_type(
879879
})
880880
with pytest.raises(UnsupportedType):
881881
assert session.pandas.to_parquet(dataframe=dataframe,
882-
database=database,
883-
path=f"s3://{bucket}/test/",
884-
mode="overwrite")
882+
database=database,
883+
path=f"s3://{bucket}/test/",
884+
mode="overwrite")
885+
886+
887+
def test_to_parquet_casting_to_string(
888+
session,
889+
bucket,
890+
database,
891+
):
892+
dataframe = pandas.DataFrame({
893+
"a": [1, 2, 3],
894+
"col_string_null": [None, None, None],
895+
"c": [7, 8, 9],
896+
})
897+
session.pandas.to_parquet(dataframe=dataframe,
898+
database=database,
899+
path=f"s3://{bucket}/test/",
900+
mode="overwrite",
901+
cast_columns={"col_string_null": "string"})
902+
dataframe2 = None
903+
for counter in range(10):
904+
dataframe2 = session.pandas.read_sql_athena(sql="select * from test",
905+
database=database)
906+
if len(dataframe.index) == len(dataframe2.index):
907+
break
908+
sleep(2)
909+
assert len(dataframe.index) == len(dataframe2.index)
910+
assert (len(list(dataframe.columns)) + 1) == len(list(dataframe2.columns))
911+
print(dataframe2)

0 commit comments

Comments
 (0)