[HADOOP] RDD는 첫 번째 열 값만 갖습니다. Hbase, PySpark
HADOOPRDD는 첫 번째 열 값만 갖습니다. Hbase, PySpark
다음 명령을 사용하여 Pyspark와 함께 Hbase 테이블을 읽습니다.
from pyspark.sql.types import *
host=<Host Name>
port=<Port Number>
keyConv = "org.apache.spark.examples.pythonconverters.ImmutableBytesWritableToStringConverter"
valueConv = "org.apache.spark.examples.pythonconverters.HBaseResultToStringConverter"
cmdata_conf = {"hbase.zookeeper.property.clientPort":port, "hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": "CMData", "hbase.mapreduce.scan.columns": "info:Tenure info:Age"}
cmdata_rdd = sc.newAPIHadoopRDD("org.apache.hadoop.hbase.mapreduce.TableInputFormat","org.apache.hadoop.hbase.io.ImmutableBytesWritable","org.apache.hadoop.hbase.client.Result",keyConverter=keyConv,valueConverter=valueConv,conf=cmdata_conf)
output = cmdata_rdd.collect()
output
아래와 같이 결과가 나타납니다. (키와 나이)
[(u'123', u'5'), (u'234', u'4'), (u'345', u'3'), (u'456', u'4'), (u'567', u'7'), (u'678', u'7'), (u'789', u'8')]
대신 열쇠, 임기 및 나이를 기대하고 있습니다. Tenure 열만있는 경우 반환 키 및 Tenure입니다. 그러나 열을 더 추가하면 결과에 항상 키 및 연령 열이 있습니다.
누구든지 우리 가이 문제를 해결하도록 도울 수 있습니까?
참고 : 우리는이 도구를 처음 사용합니다.
미리 감사드립니다.
해결법
-
==============================
1.프로토 타이핑 중이며 클러스터를 업데이트하지 않으려는 경우 happybase (https://happybase.readthedocs.org/en/latest/)를 살펴 보는 것이 좋습니다.
프로토 타이핑 중이며 클러스터를 업데이트하지 않으려는 경우 happybase (https://happybase.readthedocs.org/en/latest/)를 살펴 보는 것이 좋습니다.
다음 코드는 클러스터에서 작은 (9Gig) Hbase 테이블 'name_Hbase_Table'을 1 초 이내에 가져 오는 트릭을 수행합니다.
import happybase connection = happybase.Connection(host ='your.ip.cluster') #don't specify :port table = connection.table('name_Hbase_Table') def hbaseAccelerationParser(table): #create UDF to format data finalTable=[] for key, data in table.scan(): #don't need the key in my case line=[] for values in data.itervalues(): line.append(values) finalTable.append(line) return finalTable table =table.map(hbaseAccelerationParser) #capture data in desired format table = sc.parallelize(table ,4) #put in RDD
from https://stackoverflow.com/questions/31009988/rdd-is-having-only-first-column-value-hbase-pyspark by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop-Reducer가 매퍼 입력을 기다리고 있습니까? (0) | 2019.08.08 |
---|---|
[HADOOP] Docker 컨테이너의 Hadoop이 더 빠르거나 가치가 있습니까? [닫은] (0) | 2019.08.08 |
[HADOOP] Spark Scala를 사용하여 HiveContext를 사용하여 Hive 테이블에 데이터 삽입 (0) | 2019.08.08 |
[HADOOP] sqoop 가져 오기 또는 내보내기 중 잘못된 레코드 처리 (0) | 2019.08.08 |
[HADOOP] 반복자와 함께 mapPartition을 사용하여 스파크 RDD 저장 (0) | 2019.08.08 |