반응형
스파크 SQL에서 JDBC 테이블을 로드하는 동안 잘못된 데이터
MariaDB에서 두 행의 데이터를 포함하는 테이블 "학생"을 만들었습니다.
id name marks
-- --------- -----
1 saptarshi 98
2 sagar 95
JDBC를 사용하여 이 테이블을 spark-sql로 읽고 싶어서 spark-shell을 열고 다음 명령을 실행했습니다.
spark-shell --jars mariadb-java-client-1.5.0-RC1.jar
scala> val url = "jdbc:mariadb://localhost:3306/sparkdb"
scala> val driver = "org.mariadb.jdbc.Driver"
scala> val df = sqlContext.read.format("jdbc").option("url", url).option("driver", driver).option("dbtable", "students").option("user", "cloudera").option("password", "cloudera").load()
scala> df.printSchema
root
|-- id: integer (nullable = false)
|-- name: string (nullable = true)
|-- marks: integer (nullable = true)
스키마가 올바르게 로드되어서 '이름' 열을 표시하고 싶었습니다.
scala> df.select("name").show
+----+
|name|
+----+
|name|
|name|
+----+
행을 표시하는 대신 두 레코드 모두에 열 이름을 표시했습니다.
왜 정확한 결과를 얻지 못합니까?누가 여기서 나를 도와줄 수 있습니까?
Oracle이나 Derby와 같은 다른 데이터베이스에서 테스트해 보았습니다.그들은 정확한 결과를 만들어냅니다.이 문제는 MariaDB에 대해서만 나타납니다.
언급URL : https://stackoverflow.com/questions/38808463/incorrect-data-while-loading-jdbc-table-in-spark-sql
반응형
'programing' 카테고리의 다른 글
PHP mysql 키워드를 사용하여 여러 테이블 검색 (0) | 2023.09.17 |
---|---|
태그에 type="text/text"가 필요합니까? (0) | 2023.09.17 |
curl 명령을 JavaScript로 변환 (0) | 2023.09.17 |
모든 하위 요소에 대한 클래스 제거 (0) | 2023.09.17 |
XML 특성 대 XML 요소 (0) | 2023.09.17 |