I have seen a similar issue that I can't immediately replicate. However I can describe it. I have Pandas Dataframes with about 500,000 64 bit integers that I have converted to strings. I write them to parquet files using pyarrow. This has always worked fine.
However, recently a new record was created with an ID that began with the four digits 1001. Subsequently, what had always worked broke that day. Either a coincidence or PyArrow saw that 1001 and convinced itself it was receiving bytes, and threw the ArrowTypeError ("Expected bytes, got a 'int' object")