Recientemente he comenzado a ocupar la plataforma AWS, pero al intentar ocupar Sagemaker me da el siguiente error y no se si es por Sagemaker o tiene algo que ver con ´´Parquet Dataset´´
session = sagemaker.Session() region = boto3.Session().region_name role = get_execution_role() import pyarrow.parquet as pq import s3fs s3 = s3fs.S3FileSystem() bucket = 's3://xx' df = pq.ParquetDataset(bucket, filesystem=s3).read_pandas().to_pandas()Hasta este punto todo carga bien, pero tengo el siguiente error
attributeerror: 'AioClientCreator' object has no attribute '_register_lazy_block_unknown_fips_pseudo_regions'no se cual puede ser el error
Aquí igual. Según este problema , tiene que ver con la eliminación de esta función por parte de botocore.
Esta función en cuestión (_register_lazy_block_unknown_fips_pseudo_regions) se eliminó intencionalmente, ya que se usó para evitar que las variantes de puntos finales de regiones nuevas/desconocidas se usaran realmente para realizar llamadas API mientras se permitía la construcción del cliente, y parece que se agregó a aibotocore sin darse cuenta.
Pude resolver el problema usando botocore==1.22.5.
Editar:
Desde entonces he intentado de nuevo que todo funcione en conjunto. Aquí está mi Pipfile que parece funcionar sin arrojar errores como los informados por @Drwhit. Creo que el error proviene de este problema .
s3fs = {version = "~=2021.4", extras = ["boto3"]} aiohttp = "==3.7.2" botocore = "==1.22.8" aiobotocore = "==2.0.1"Para que esto funcione, en un entorno con algunas bibliotecas ya instaladas, necesitaba ejecutar algunos comandos de desinstalación antes de instalar la versión anterior de boto3:
pip uninstall boto3 pip uninstall botocore pip uninstall aiobotocoreLuego emitió este:
pip install boto3==1.17.106... y finalmente funcionó.
Si surge algún problema de conflicto al instalar esa versión específica de boto3, simplemente desinstale el paquete que está en conflicto (me sucedió con una versión de sagemaker). Si lo necesita, vuelva a instalarlo después de instalar la versión anterior de boto3. No hay garantía de que funcione al final; prueba y error ayudará.
Cuando termine, emita pip list , para que pueda obtener la lista completa de versiones que funcionan, y colóquela con los cambios de sintaxis apropiados en un archivo requirements.txt , para que pueda construir su entorno más adelante.