Я использую pyspark [spark2.3.1] и Hbase1.2.1, мне интересно, как лучше всего получить доступ к Hbase с помощью pyspark?
Я выполнил начальный уровень поиска и обнаружил, что тамЕсть несколько вариантов, таких как использование shc-core: 1.1.1-2.1-s_2.11.jar это может быть достигнуто, но везде, где я пытаюсь найти некоторые примеры, в большинстве мест код написан на Scala или примеры такжена основе скалы.Я попытался реализовать базовый код в pyspark:
from pyspark import SparkContext
from pyspark.sql import SQLContext
def main():
sc = SparkContext()
sqlc = SQLContext(sc)
data_source_format = 'org.apache.spark.sql.execution.datasources.hbase'
catalog = ''.join("""{
"table":{"namespace":"default", "name":"firsttable"},
"rowkey":"key",
"columns":{
"firstcol":{"cf":"rowkey", "col":"key", "type":"string"},
"secondcol":{"cf":"d", "col":"colname", "type":"string"}
}
}""".split())
df = sqlc.read.options(catalog=catalog).format(data_source_format).load()
df.select("secondcol").show()
# entry point for PySpark application
if __name__ == '__main__':
main()
и запустить его с помощью:
spark-submit --master yarn-client --files /opt/hbase-1.1.2/conf/hbase-site.xml --packages com.hortonworks:shc-core:1.1.1-2.1-s_2.11 --jars /home/ubuntu/hbase-spark-2.0.0-alpha4.jar HbaseMain2.py
Это возвращает мне пустой вывод:
+---------+
|secondcol|
+---------+
+---------+
Я неуверен, что я делаю не так?Также не уверен, что будет лучшим подходом для этого ??
Любые ссылки будут оценены.
С уважением