본문 바로가기

AWS_Service

(4)
.withColumn(datetime) glue ETL 잡의 오류인지 뭔지 hh:mm:ss 데이터 값이 실제 S3(DL) 에 넣을 때 이유는 모르겠지만 1970-01-01 이 앞에 같이 들어가서 string 값으로 저장되는 문제가 있어서 값을 수정하는데 별것 아닌것에 pyspark 에 대한 지식이 부족해 삽질을 하다가 겨우 해결했다. 일단 import 해주고 import pyspark.sql.functions as F ing_df = df.toDF()여기서 df는 from pyspark.context import SparkContext from awsglue.context import GlueContext sc = SparkContext() glueContext = GlueContext(sc) glueContext.create_dynamic_..
Athena 에서 형변환 기존에 작성했던 쿼리를 Athena환경에서 실행하려고했는데 to_char도 안먹고 convert 도안되고 ::도 안되고 ... 기존 쿼리 : to_char (column_name, 'yyyy-mm-dd') "date", 변환 쿼리 : date_parse(column_name, '%y%m%d') "date", date_parse라는게 있었다.. Athena는 hive와 문법이 동일하다 postgresql 코드를 hive 코드로 마이그레이션 결과이다. DATE_PART('day', NOW() - t1.date as TIMESTAMP) => extract(day from (NOW() - t1.date)) 출처 : https://aws.amazon.com/ko/premiumsupport/knowledge-cen..
Glue 문법 # toDF 함수는 RDD를 DataFrame으로 변환시켜주는 함수 df = rdd_data.toDF() # SparkContext는 Spark 클러스터에 대한 연결을 나타내며 해당 클러스터에서 RDD, 누적기 및 브로드캐스트 변수를 생성하는 데 사용할 수 있습니다. SparkContext() # Apache SparkSparkContext객체를 포함하여 Apache Spark 플랫폼과 상호작용하기 위한 원리를 제공합니다. GlueContext(spark_context 객체) # withColumn (추가 컬럼 이름, 값) withColumn(abc + "divide10000", # abc가 5보다 작을경우 0처리 (when(length(abc) < 5, "0") # abc가 5와 같거나 5보다 높을 경..
Glue Schedules 형식 1. 가장 앞에 오는 단위는 초(Seconds)이다. 2. 두번째는 분(Minutes)을 나타낸다. 3. 세번째는 시(Hours)를 나타낸다. 4. 네번째는 일(Day-of-Month, DOM)을 나타낸다. 5. 다섯번째로 월(Month)에 대한 정보를 기술한다. 6. 여섯번째는 요일(Day of Week)을 나타낸다. 요일은 0~6의 숫자로 쓸 수도 있지만 "MON", "SUN"과 같이 요일의 약자로 사용할 수도 있다. 7. 마지막으로 일곱번째에는 연도(Year)가 온다. 연도는 optional이다. - 와일드카드(*) 문자는 '매 번'을 의미한다. - 물음표(?) 는 '설정값 없음'을 나타낸다. 이는 일(DOM)과 요일(DOW)에만 사용할 수 있다. 5 18 7 * ? *