2016-08-20 3 views
0

나는 Spark 2.0과 SparkR 라이브러리를 만들고있다. SparkR에서 다음 작업을 수행하는 방법에 대한 샘플 코드를 얻고 싶습니다.MySQL 데이터베이스에서 SparkR을 사용하여 Apache Spark에 어떻게 연결할 수 있습니까?

SparkR을 사용하여 MySQL 또는 다른 SQL 데이터베이스에 연결하십시오.

SELECT, UPDATE 등과 같은 SQL 쿼리를 작성하여 해당 데이터베이스의 테이블을 수정하십시오.

필자는 R을 사용하여 알고 있습니다.하지만 Spark Sessions 또는 SparkSQL 컨텍스트를 사용하려면 도움이 필요합니다. 개발을 위해 R Studio를 사용하고 있습니다.

또한이 R 코드를 Spark Batch로 제출하여 일정한 간격으로 연속적으로 실행하려면 어떻게해야합니까?

+0

마음에 샘솟는 질문은 무엇입니까? Spark은 컴퓨터 클러스터를 사용하는 병렬 처리를 사용하여 가장 잘 처리되는 거대한 데이터 세트를 처리하기위한 분산 처리 환경입니다. 반대로 단일 MySQL 데이터베이스의 단일 파일에있는 데이터 세트는 단일 컴퓨터에 정의되어 있습니다. 이 작업을 수행하는 방법에 대한 해답을 얻을 수는 있지만, Python을 사용하여 MySQL 데이터베이스가 포함 된 로컬 컴퓨터를 사용하는 대신 Spark에서 수행하는 것은 상당히 비효율적 인 것처럼 보입니다. – SpiritusPrana

+0

당신의 대답을 주셔서 감사합니다.하지만 난 그냥 물건을 실험하고 그 실제 구현이 아닙니다. 나는 MySQL 데이터를 사용하여 더미 데이터를 구축합니다. 나는 MySQL의 워크 벤치가 다른 데이터 소스의 표현입니다 고려 스파크를 사용하여 단계를 수행하고 싶습니다. 당신이 올바른 코드를 도와 줄 수 있다면 Spark 2.0.0을 사용하고 있습니다. – SCB

+0

@SCB는 DBA가 jdbc를 사용하여 Spark에서 SQL 연결을 만드는 것을 권장하지 않았습니다. 클러스터의 각 코어가 데이터베이스에 별도의 연결을 만들어 데이터 다운로드를 동시에 시작하기 때문입니다. 권장되는 방법은 데이터를 파일 (Hadoop에서 Spark을 사용하는 경우 HDFS)로 내보내고 다음을 사용하여 파일에서 DataFrame으로 가져 오는 것입니다. 'df <- read.df (csvPath, "csv", header = "true" inferSchema = "true", na.strings = "NA")' – SpiritusPrana

답변

1
jdbcurl <- "jdbc:mysql://xxx.xxx.x.x:xxxx/database" 

data <- read.jdbc(jdbcurl, "tablename", user = "user", password = "password") 
+0

감사합니다 sahil. 내가 sparkR 용인지 알려 주실 수 있습니까? Spark 2.0.0을 사용하고 있습니다 – SCB

+0

안녕하세요.이 코드를 실행하면 오류가 발생합니다 .16/08/22 10:18:13 ERROR RBackendHandler : 5에 jdbc가 실패했습니다. invokeJava (isStatic = FALSE, objId $ id, methodName, ...) 오류 : java.sql.SQLException : 적절한 드라이버가 없습니다 – SCB

+0

yup its for SparkR . 이제 jdbc jar 파일을 lib로 옮겨야한다. –

관련 문제