메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


MongoDB의 json데이타를 GSON을 이용하여 parsing할때 아래와 같은 오류가 발생할 수 있는데 이는 ObjectId값이 String이 아닌 Object(클래스 형태)로 인식이 되어 발생하는 문제이다.

그래서 GSON 파싱할때 사용되는 클래스를 생성할때 {"_time":1480579094,"_machine":-1422354433,"_inc":-987106123,"_new":false}를 담을 수 있는 class를 생성하고 이 클래스를 멤버 변수로 가지고 있는 클래스를 만들어서 지정해주면 해결된다.


--------------오류 메세지--------------------

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
        at com.google.gson.Gson.fromJson(Gson.java:803)
        at com.google.gson.Gson.fromJson(Gson.java:768)
        at com.google.gson.Gson.fromJson(Gson.java:717)
        at com.google.gson.Gson.fromJson(Gson.java:689)
        at com.gooper.icbms.sda.sf.TripleService.getTriple(TripleService.java:64)
        at com.gooper.icbms.sda.kafka.onem2m.AvroOneM2MDataSubscribe$ConsumerT.run(AvroOneM2MDataSubscribe.java:135)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:821)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
        ... 9 more

번호 제목 날짜 조회 수
281 CDH 5.14.2 설치중 agent설치에서 실패하는 경우 확인/조치 2018.05.22 590
280 기준일자 이전의 hdfs 데이타를 지우는 shellscript 샘플 2019.06.14 591
279 [Hue]Hue의 메타정보를 담고 있는 desktop_document테이블과 desktop_document2의 관계 2022.05.09 593
278 CDP에서 AD와 Kerberos를 활용하여 인증 환경을 구축하는 3가지 방법 2022.06.10 594
277 [번역] solr 검색 엔진 튜토리얼 2014.10.07 596
276 [TLS/SSL]Cloudera CDH6.3.4기준 Hue TLS설정 항목 2022.05.13 597
275 [sqoop] mapper를 2이상으로 설정하기 위한 split-by컬럼을 찾을때 유용하게 활용할 수 있는 쿼리 2020.05.13 598
274 python2.7.4에서 Oracle DB(11.2)를 사용하기 위한 설정(RPM을 이용하여 RHEL 7.4에 설치) 2021.11.26 598
273 Cassandra 3.4(3.10) 설치/설정 (5대로 clustering) 2016.04.11 600
» [JSON 파싱]mongodb의 document를 GSON을 이용하여 parsing할때 ObjectId값에서 오류 발생시 조치방법 2017.01.18 600
271 Mysql DB 생성 및 권한. 특정아이피, 대역에 대한 접근 허용 2017.05.04 600
270 oracle 12에 sqoop해서 데이터 import하기 (console에서 sqoop import하는 방법) 2021.12.31 602
269 A Cluster의 HDFS 디렉토리및 파일을 사용자및 권한 유지 하여 다운 받아서 B Cluster에 넣기 2020.05.06 603
268 hive 0.13.1 설치 + meta정보는 postgresql 9.3에 저장 2015.04.30 604
267 Oracle RAC 구성된 DB서버에 대한 컴포넌트별 설정 방법 2022.02.12 605
266 Hive MetaStore Server기동시 Could not create "increment"/"table" value-generation container SEQUENCE_TABLE since autoCreate flags do not allow it. 오류발생시 조치사항 2017.05.03 606
265 hive metastore db중 TBLS, TABLE_PARAMS테이블 설명 2021.10.22 610
264 외부 기기(usb, 하드)등 mount(연결)하기 2014.08.03 611
263 java.util.NoSuchElementException발생시 조치 2014.08.27 615
262 spark client프로그램 기동시 "Error initializing SparkContext"오류 발생할때 조치사항 2016.05.27 615
위로