:스파크 쉘에서 하나의 데이터를 인쇄 할 수 없습니다 나는 스파크 쉘에서 HANA에 연결하고 특정 테이블에서 데이터를 가지고 노력하고 아래 코드와
spark-submit --properties-file /users/xxx/spark-defaults.conf
./spark-shell --properties-file /users/xxx/spark-defaults.conf
val sparksqlContext = new org.apache.spark.sql.SQLContext(sc)
val driver ="com.sap.db.jdbc.Driver"
val url ="jdbc:sap://yyyyyy:12345"
val database= "STAGING"
val username = "uuuuu"
val password = "zzzzzz"
val table_view = "STAGING.Tablename"
val jdbcDF = sparksqlContext.read.format("jdbc").option("driver",driver).option("url",url).option("databaseName", database).option("user", username).option("password",password).option("dbtable", table_view).option("partitionColumn","INSTANCE_ID").option("lowerBound","7418403").option("upperBound","987026473").option("numPartitions","5").load()
jdbcDF.cache
jdbcDF.createOrReplaceTempView("TESTING_hanaCopy")
val results = sparksqlContext.sql("select * from TESTING_hanaCopy")
val resultsCounts = sparksqlContext.sql("select count(*) from TESTING_hanaCopy")
val countsval=results.count()
resultsCounts.show()
오류 다음과 같습니다 :
스칼라> resultsCounts.show() org.apache.spark.SparkException : 작업으로 인해 무대 장애로 중단 : 작업 직렬화하지 : java.io.NotSerializableException : com.sap.db.jdbc.topology.Host 직렬화 스택 : - 개체가 직렬화 할 수 없습니다 (클래스 : com.sap. - writeObject 데이터 (클래스 : java.util.ArrayList) - 개체 (클래스 java.util.ArrayList, [yyyyyy : 12345]) - 클래스 : java.util.Hashtable) - 개체 (클래스 java.util.Properties, {databasename = STAGING, dburl = jdbc : sap : // yyyyyy : 12345, 사용자 = uuuuu, 암호 = zzzzzz, 호스트 목록 = [yyyyyy : 12345] }) - 필드 (클래스 : org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions, 이름 : asConnectionProperties, 유형 : 클래스 java.util.Properties) - object (클래스 org.apache.spark.sql. 실행 클래스. 데이터베이스. $ createConnectionFactory $ 1, name : 옵션 $ 1, 유형 : c 아가씨 org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions)
나는 here 및 here을 제공하는 솔루션을 이해하려고 노력하지만, 위의 코드