분류 전체보기 57

[AWS] python으로 s3에 있는 parquet 파일 읽기

목적S3에 저장해놓은 parquet 파일을 AWS ec2 등의 서버가 아닌 개인 컴퓨터에서 쉽게 읽고싶다.aws configure로 계정정보(access key, secret key)를 저장하는 것이 아닌 코드에서 계정정보를 관리하고싶다.필자는 pyarrow, s3fs가 동작하지 않아 빠르게 이용할 수 있는 다른 방법을 찾고 싶었다.코드import boto3import ioimport pandas as pd...s3_config = { "aws_access_key_id": "{ACCESS KEY}", "aws_secret_access_key": "{SECRET KEY}", "region_name": "{MY REGION}"}...def pd_read_s3_parquet(key, bucke..

기타 2022.02.03

[Spark] json->parquet 저장시 특수문자 해결

목적 parquet의 경우, attribute name에 " ,;{}()\n\t=" 문자가 들어가면 rename을 시켜주어야한다. 에러메시지는 아래와 같다. 'Attribute name "my column" contains invalid character(s) among " ,;{}()\\n\\t=". Please use alias to rename it.;' ... pyspark.sql.utils.AnalysisException: 'Attribute name "some-ar ray" contains invalid character(s) among " ,;{}()\\n\\t=". Please use alias to rename it.;'​ json을 parquet로 저장 시 key값에 해당 문자들이 들어..

기타 2021.10.07

[Spark] json -> parquet로 저장시 스키마 충돌 문제 해결

목적 json으로 저장된 파일을 partition을 추가하여 parquet로 저장하려한다. 이때, json 내에 빈 array가 있을 경우 inferSchema로 인해 array(string)의 스키마로 표현된다. 이 경우 다른 파일에서 array내에 struct 등의 다른 값이 들어올 경우 에러가 발생한다. pre-defined된 schema가 있다면 좋겠으나 필자의 경우는 그렇지 못하였다. 필자에게 발생한 에러메시지는 아래와 같다. java.lang.ClassCastException: optional binary element (UTF8) is not a group at org.apache.parquet.schema.Type.asGroupType(Type.java:207) at org.apache.s..

기타 2021.10.06
반응형