본문 바로가기
BigData 기술/Spark

[spark] 파일 한 줄씩 읽기 (scala fromFile)

by 잇서니 2020. 6. 24.
반응형

테스트환경

  • zeppelin 0.8.1
  • spark 2.4.0

 

코드

%spark

import scala.io.Source.fromFile

// fromFile : hdfs 경로 안됨. 로컬 경로만 가능
val empPath = "/root/sunny/spark-in-action/ghEmployess.txt"
 val employees = Set() ++ (          
     for{                                
         line <- fromFile(empPath).getLines  
     }yield line.trim                    
 )   
  • fromFile은 hdfs 경로에 있는 파일 읽기는 안 된다. 로컬 서버에 있는 파일경로만 가능하다.

  • hdfs 파일 읽을 때는 textFile 연산자를 사용한다.

    • val lines = sc.textFile("/spark-in-action/client-ids.log")
%spark

// udf 만들기

val isEmp = user => employees.contains(user)
val isEmployee = spark.udf.register("isEmpUdf", isEmp)

// udf 사용하기
sql("""select isEmpUdf("NathanNg") as isEmpUdf from orderedTable limit 1""").show()

 

반응형

댓글