Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dataframe 如何将Pyspark数据帧存储到HBase中_Dataframe_Pyspark_Apache Spark Sql_Hbase_Bigdata - Fatal编程技术网

Dataframe 如何将Pyspark数据帧存储到HBase中

Dataframe 如何将Pyspark数据帧存储到HBase中,dataframe,pyspark,apache-spark-sql,hbase,bigdata,Dataframe,Pyspark,Apache Spark Sql,Hbase,Bigdata,我有一个将Pyspark流数据转换为数据帧的代码。我需要将此数据帧存储到Hbase中。另外,请帮助我编写代码 导入系统 从pyspark导入SparkContext 从pyspark.streaming导入StreamingContext 从pyspark.sql导入行,SparkSession def getSparkSessionInstance(sparkConf): 如果('sparksessionsingletonistance'不在globals()中): globals()['sp

我有一个将Pyspark流数据转换为数据帧的代码。我需要将此数据帧存储到Hbase中。另外,请帮助我编写代码

导入系统 从pyspark导入SparkContext 从pyspark.streaming导入StreamingContext 从pyspark.sql导入行,SparkSession def getSparkSessionInstance(sparkConf): 如果('sparksessionsingletonistance'不在globals()中): globals()['sparksessionsingletonistance']=SparkSession\ 建筑商先生\ .config(conf=sparkConf)\ .getOrCreate() return globals()['sparksessionsingletonistance'] 如果名称=“\uuuuu main\uuuuuuuu”: 如果len(sys.argv)!=三: 打印(“用法:sql\u network\u wordcount.py”, 文件=sys.stderr) 出口(-1) 主机,端口=sys.argv[1:] sc=SparkContext(appName=“PythonSqlNetworkWordCount”) ssc=StreamingContext(sc,1) lines=ssc.socketTextStream(主机,int(端口)) def过程(时间,rdd): 打印(“==================================%str(时间)) 尝试: words=rdd.map(lambda行:line.split(“”).collect() spark=getSparkSessionInstance(rdd.context.getConf()) linesDataFrame=spark.createDataFrame(单词,模式=[“lat”,“lon”]) linesDataFrame.show() 除: 通过 行。foreachRDD(过程) ssc.start() ssc.终止协议()
您可以使用Spark Hbase连接器从Spark访问Hbase。它在低级
RDD
数据帧中提供API

连接器要求您为HBase表定义一个
Schema
。下面是为名为
table1
、行键为键、多列(col1-col8)的HBase表定义的模式示例。请注意,
rowkey
还必须详细定义为列(col0),该列具有特定的cf(rowkey)

def-catalog={
“table”:{“namespace”:“default”,“name”:“table1”}\
“rowkey”:“key”\
“栏目”:{\
“col0”:{“cf”:“rowkey”,“col”:“key”,“type”:“string”}\
“col1”:{“cf”:“cf1”,“col”:“col1”,“type”:“boolean”}\
“col2”:{“cf”:“cf1”,“col”:“col2”,“type”:“double”}\
“col3”:{“cf”:“cf1”,“col”:“col3”,“type”:“float”}\
“col4”:{“cf”:“cf1”,“col”:“col4”,“type”:“int”}\
“col5”:{“cf”:“cf2”,“col”:“col5”,“type”:“bigint”}\
“col6”:{“cf”:“cf2”,“col”:“col6”,“type”:“smallint”}\
“col7”:{“cf”:“cf2”,“col”:“col7”,“type”:“string”}\
“col8”:{“cf”:“cf2”,“col”:“col8”,“type”:“tinyint”}\
}\
}'
根据数据帧的架构定义目录后,可以使用以下方法将数据帧写入HBase:

df.write\
.选项(目录=目录)\
.format(“org.apache.spark.sql.execution.datasources.hbase”)\
.save()
要从HBase读取数据,请执行以下操作:

df=spark\
阅读\
格式(“org.apache.spark.sql.execution.datasources.hbase”)\
选项(目录=目录)\
加载()
提交Spark应用程序时,您需要包括Spark HBase connector软件包,如下所示

pyspark——包com.hortonworks:shc核心:1.1.1-2.1-s_2.11——存储库http://repo.hortonworks.com/content/groups/public/

您可以使用Spark Hbase连接器从Spark访问Hbase。它在低级
RDD
数据帧中提供API

连接器要求您为HBase表定义一个
Schema
。下面是为名为
table1
、行键为键、多列(col1-col8)的HBase表定义的模式示例。请注意,
rowkey
还必须详细定义为列(col0),该列具有特定的cf(rowkey)

def-catalog={
“table”:{“namespace”:“default”,“name”:“table1”}\
“rowkey”:“key”\
“栏目”:{\
“col0”:{“cf”:“rowkey”,“col”:“key”,“type”:“string”}\
“col1”:{“cf”:“cf1”,“col”:“col1”,“type”:“boolean”}\
“col2”:{“cf”:“cf1”,“col”:“col2”,“type”:“double”}\
“col3”:{“cf”:“cf1”,“col”:“col3”,“type”:“float”}\
“col4”:{“cf”:“cf1”,“col”:“col4”,“type”:“int”}\
“col5”:{“cf”:“cf2”,“col”:“col5”,“type”:“bigint”}\
“col6”:{“cf”:“cf2”,“col”:“col6”,“type”:“smallint”}\
“col7”:{“cf”:“cf2”,“col”:“col7”,“type”:“string”}\
“col8”:{“cf”:“cf2”,“col”:“col8”,“type”:“tinyint”}\
}\
}'
根据数据帧的架构定义目录后,可以使用以下方法将数据帧写入HBase:

df.write\
.选项(目录=目录)\
.format(“org.apache.spark.sql.execution.datasources.hbase”)\
.save()
要从HBase读取数据,请执行以下操作:

df=spark\
阅读\
格式(“org.apache.spark.sql.execution.datasources.hbase”)\
选项(目录=目录)\
加载()
提交Spark应用程序时,您需要包括Spark HBase connector软件包,如下所示

pyspark——包com.hortonworks:shc核心:1.1.1-2.1-s_2.11——存储库http://repo.hortonworks.com/content/groups/public/

谢谢您的帮助。我需要澄清很多事情。名称空间是什么?我需要在“def catalog”@ariunariun namespace上定义模式的地方是HBase表名称空间,默认情况下是“default”。和目录需要在PySpark应用程序本身中定义。您能通过私人消息帮助我吗?我如何与你联系?请帮助我。请参考示例,如果您仍然面临此问题,请粘贴错误。谢谢谢谢你的帮助。我需要澄清很多事情。名称空间是什么?我需要在“def catalog”@ariunariun namespace上定义模式的地方是HBase表名称空间,默认情况下是“default”。和目录需要在PySpark应用程序本身中定义。您能通过私人消息帮助我吗?我如何与你联系?请帮助我。请参考示例,如果您仍然面临此问题,请粘贴错误。谢谢