Spark에서 구조화 된 데이터를 schemaRDD에 매핑하는 방법은 무엇입니까?

이전에이 질문을 다르게했지만 약간의 변화가있어서 새로운 질문으로 다시 한 번 물어 보겠다고 생각했습니다. 일부만 json 형식 인 구조화 된 데이터가 있지만 전체 데이터를 schemaRDD에 매핑해야합니다. 데이터는 다음과 같습니다.

03052015 04:13:20 { "recordType": "NEW", "data": { "keycol": "val1", "col2": "val2", "col3": "val3"}

각 줄은 날짜와 시간, json 형식의 텍스트로 시작합니다. json의 텍스트뿐만 아니라 날짜와 시간도 동일한 구조로 매핑해야합니다.

Python에서 시도했지만 Row가 RDD (이 경우 jsonRDD)를 사용하지 않기 때문에 분명히 작동하지 않습니다.

    from pyspark.sql import SQLContext, Row
    sqlContext = SQLContext(sc)
    orderFile  = sc.textFile(myfile)
    orderLine  = orderFile.map(lambda line: line.split(" ", 2))
    anotherOrderLine = orderLine.map(lambda p: Row(date=p[0], time=p[1], content=sqlContext.jsonRDD(p[3])))
    schemaOrder = sqlContext.inferSchema(anotherOrderLine)
    schemaOrder.printSchema()
    for x in schemaOrder.collect():
        print x

목표는 schemaRDD에 대해 다음과 같은 쿼리를 실행할 수있는 것입니다.

select date, time, data.keycol, data.val1, data.val2, data.val3 from myOrder

전체 라인을 schemaRDD에 어떻게 매핑 할 수 있습니까?

도움을 주시면 감사하겠습니다.

0x0FFF

가장 간단한 옵션은이 필드를 JSON에 추가하고 jsonRDD를 사용하는 것입니다.

내 데이터 :

03052015 04:13:20 {"recordType":"NEW","data":{"keycol":"val1","col1":"val5","col2":"val3"}}
03062015 04:13:20 {"recordType":"NEW1","data":{"keycol":"val2","col1":"val6","col2":"val3"}}
03072015 04:13:20 {"recordType":"NEW2","data":{"keycol":"val3","col1":"val7","col2":"val3"}}
03082015 04:13:20 {"recordType":"NEW3","data":{"keycol":"val4","col1":"val8","col2":"val3"}}

암호:

import json

def transform(data):
    ts  = data[:18].strip()
    jss = data[18:].strip()
    jsj = json.loads(jss)
    jsj['ts'] = ts
    return json.dumps(jsj)

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
rdd = sc.textFile('/sparkdemo/sample.data')
tbl = sqlContext.jsonRDD(rdd.map(transform))
tbl.registerTempTable("myOrder")

sqlContext.sql("select ts, recordType, data.keycol, data.col1, data.col2 data from myOrder").collect()

결과:

[Row(ts=u'03052015 04:13:20', recordType=u'NEW', keycol=u'val1', col1=u'val5', data=u'val3'), Row(ts=u'03062015 04:13:20', recordType=u'NEW1', keycol=u'val2', col1=u'val6', data=u'val3'), Row(ts=u'03072015 04:13:20', recordType=u'NEW2', keycol=u'val3', col1=u'val7', data=u'val3'), Row(ts=u'03082015 04:13:20', recordType=u'NEW3', keycol=u'val4', col1=u'val8', data=u'val3')]

코드에서 각 행에 대해 jsonRDD를 호출하는 문제가 있습니다. 이것은 올바르지 않습니다. RDD를 받아들이고 SchemaRDD를 반환합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

조명기에서 구조화 된 데이터를 반환하는 올바른 방법은 무엇입니까?

분류에서Dev

Firebase에서 데이터를 구조화하는 방법은 무엇입니까?

분류에서Dev

Firebase에서 데이터를 구조화하는 방법은 무엇입니까?

분류에서Dev

Google 구조화 된 데이터에 대해 ISO 8601에서 totalTime 매개 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

mySQL / PHP를 사용하여 데이터베이스에서 구조화 된 정보를 표시하는 방법은 무엇입니까?

분류에서Dev

매핑 된 드라이버에 대한 참조를 삭제하는 방법은 무엇입니까?

분류에서Dev

MATLAB에서이 코드 조각의 벡터화 된 버전을 구현하는 방법은 무엇입니까?

분류에서Dev

React에서 JSON 데이터를 매핑하는 방법은 무엇입니까?

분류에서Dev

PySpark를 사용할 때 Spark에서 Python 데이터 구조를 구현하는 방법은 무엇입니까?

분류에서Dev

kmeans에 대해 Spark에서 MongoDB 데이터를 매핑하는 방법은 무엇입니까?

분류에서Dev

세로로 나열된 판매와 유사한 데이터를 Excel에서 더 잘 시각화 된 표로 재구성하는 방법은 무엇입니까?

분류에서Dev

구조체에서 세분화 된 메서드를 사용하는 방법은 무엇입니까?

분류에서Dev

양식에서 제출 한 데이터를 구조화 / 제어하는 방법은 무엇입니까?

분류에서Dev

mongoDB에서 JSON 데이터를 구조화하는 방법은 무엇입니까?

분류에서Dev

구조화 된 문자열에서 단어를 추출하는 방법은 무엇입니까?

분류에서Dev

구조화 된 문자열에서 특정 필드를 추출하는 방법은 무엇입니까?

분류에서Dev

SSRS 데이터 세트에서 연결된 서버 참조를 매개 변수화하는 방법은 무엇입니까?

분류에서Dev

일반화 된 위치에서 조인트 인덱스를 해당 인덱스에 매핑하는 방법은 무엇입니까?

분류에서Dev

평탄화 된 JSON에서 가장 깊은 데이터를 추출하는 방법은 무엇입니까?

분류에서Dev

생성자에서 초기화 된 배열에 데이터를 추가하는 방법은 무엇입니까?

분류에서Dev

Karate에서 데이터 기반 테스트를 위해 중첩 된 데이터 구조를 준비하는 방법은 무엇입니까?

분류에서Dev

위젯의 위치를 보조 모니터 화면에 매핑하는 방법은 무엇입니까?

분류에서Dev

ASP.NET MVC Razor에서 그룹화 된 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 비정규 화 된 성분 데이터를 선택하는 방법은 무엇입니까?

분류에서Dev

JavaScript에서 데이터 구조를 만드는 방법은 무엇입니까?

분류에서Dev

포맷 된 스왑에서 데이터를 복구하는 방법은 무엇입니까?

분류에서Dev

포맷 된 스왑에서 데이터를 복구하는 방법은 무엇입니까?

분류에서Dev

다른 번들로 구성된 번들에서 데이터를 검색하는 방법은 무엇입니까?

분류에서Dev

목록에서 여러 GenServer 프로세스를 만들고 그 안에 저장된 데이터를 매핑하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    조명기에서 구조화 된 데이터를 반환하는 올바른 방법은 무엇입니까?

  2. 2

    Firebase에서 데이터를 구조화하는 방법은 무엇입니까?

  3. 3

    Firebase에서 데이터를 구조화하는 방법은 무엇입니까?

  4. 4

    Google 구조화 된 데이터에 대해 ISO 8601에서 totalTime 매개 변수를 사용하는 방법은 무엇입니까?

  5. 5

    mySQL / PHP를 사용하여 데이터베이스에서 구조화 된 정보를 표시하는 방법은 무엇입니까?

  6. 6

    매핑 된 드라이버에 대한 참조를 삭제하는 방법은 무엇입니까?

  7. 7

    MATLAB에서이 코드 조각의 벡터화 된 버전을 구현하는 방법은 무엇입니까?

  8. 8

    React에서 JSON 데이터를 매핑하는 방법은 무엇입니까?

  9. 9

    PySpark를 사용할 때 Spark에서 Python 데이터 구조를 구현하는 방법은 무엇입니까?

  10. 10

    kmeans에 대해 Spark에서 MongoDB 데이터를 매핑하는 방법은 무엇입니까?

  11. 11

    세로로 나열된 판매와 유사한 데이터를 Excel에서 더 잘 시각화 된 표로 재구성하는 방법은 무엇입니까?

  12. 12

    구조체에서 세분화 된 메서드를 사용하는 방법은 무엇입니까?

  13. 13

    양식에서 제출 한 데이터를 구조화 / 제어하는 방법은 무엇입니까?

  14. 14

    mongoDB에서 JSON 데이터를 구조화하는 방법은 무엇입니까?

  15. 15

    구조화 된 문자열에서 단어를 추출하는 방법은 무엇입니까?

  16. 16

    구조화 된 문자열에서 특정 필드를 추출하는 방법은 무엇입니까?

  17. 17

    SSRS 데이터 세트에서 연결된 서버 참조를 매개 변수화하는 방법은 무엇입니까?

  18. 18

    일반화 된 위치에서 조인트 인덱스를 해당 인덱스에 매핑하는 방법은 무엇입니까?

  19. 19

    평탄화 된 JSON에서 가장 깊은 데이터를 추출하는 방법은 무엇입니까?

  20. 20

    생성자에서 초기화 된 배열에 데이터를 추가하는 방법은 무엇입니까?

  21. 21

    Karate에서 데이터 기반 테스트를 위해 중첩 된 데이터 구조를 준비하는 방법은 무엇입니까?

  22. 22

    위젯의 위치를 보조 모니터 화면에 매핑하는 방법은 무엇입니까?

  23. 23

    ASP.NET MVC Razor에서 그룹화 된 데이터를 표시하는 방법은 무엇입니까?

  24. 24

    SQL Server에서 비정규 화 된 성분 데이터를 선택하는 방법은 무엇입니까?

  25. 25

    JavaScript에서 데이터 구조를 만드는 방법은 무엇입니까?

  26. 26

    포맷 된 스왑에서 데이터를 복구하는 방법은 무엇입니까?

  27. 27

    포맷 된 스왑에서 데이터를 복구하는 방법은 무엇입니까?

  28. 28

    다른 번들로 구성된 번들에서 데이터를 검색하는 방법은 무엇입니까?

  29. 29

    목록에서 여러 GenServer 프로세스를 만들고 그 안에 저장된 데이터를 매핑하는 방법은 무엇입니까?

뜨겁다태그

보관