2 liu312018859 liu312018859 于 2016.02.23 16:03 提问

spark创建dataframe导入phoenix如何禁止自动创建字段编号

请教:从HDFS里读一个文件,map开拿出数据,转换成dataframe类型,再放入phoenix里面。转换成dataframe后,为什么给数据自动加一个前缀"_1","_2"。这样导致数据放入phoenix的时候,列簇对应不上,phoenix表已经创建好,定义过列簇名,下面是代码,和报错
图片说明
我创建phoenix表的行键列簇名字已经定义好了:HANGJIAN , LIECU ,LIECU2 ,LEICU5 ,HANGJIAN5
spark转换rdd的时候自动添加了"_1", "_2","_3"' "_4", "_5"
图片说明
能不能转换数据的时候 ,不自动 加: _1 _2 等等前缀,直接让数据存入phoenix表中。请问大神们是怎么做的?

3个回答

liu312018859
liu312018859   2016.02.24 10:06
已采纳

问题搞定了
df = sqlContext.createDataFrame(sparkRDD2,["HANGJIAN","LIECU","LIECU2","LIECU5","HANGJIAN5"])
这是官网的

from pyspark.sql import Row
Person = Row('name', 'age')
person = rdd.map(lambda r: Person(*r))
df2 = sqlContext.createDataFrame(person)
df2.collect()
[Row(name=u'Alice', age=1)]

liu312018859
liu312018859   2016.02.24 10:05

问题搞定了
df = sqlContext.createDataFrame(sparkRDD2,["HANGJIAN","LIECU","LIECU2","LIECU5","HANGJIAN5"])
这是官网的

from pyspark.sql import Row
Person = Row('name', 'age')
person = rdd.map(lambda r: Person(*r))
df2 = sqlContext.createDataFrame(person)
df2.collect()
[Row(name=u'Alice', age=1)]

liu312018859
liu312018859   2016.02.24 10:08

应该是这个
上面粘贴错了

rdd = sc.parallelize(l)
sqlContext.createDataFrame(rdd).collect()
[Row(_1=u'Alice', _2=1)]
df = sqlContext.createDataFrame(rdd, ['name', 'age'])
df.collect()
[Row(name=u'Alice', age=1)]

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
客户端phoenix安装、运行、创建与HBase表同名视图、聚合查询
客户端phoenix安装、运行、创建与HBase表同名视图、聚合查询
Spark DataFrame 演示Demo
简单一个示例,演示Spark中DataFrame的创建与操作
Spark dataset and dataframe 深入分析
SPARK 最新版本支持的dataset and dataframe的深入分析和设计
spark rdd api dataframe 以及dataframe rdd dataset 相互转换 spark sql
包括spara rdd api,dataframe action操作、查询操作、join操作,dataframe rdd dataset 相互转换以及spark sql。
oracle建触发器与创建递增字段
在oracle数据库当中,如何创建触发器与创建递增字段
Mdb字段创建Mdb字段创建
Mdb字段创建Mdb字段创建Mdb字段创建
创建Phoenix BIOS拯救盘
如何创建Phoenix BIOS拯救盘,自己动手拯救你的主板就是这么简单
使用Ambari整合的各大数据组件版本(hadoop,spark,hbase,phoenix)等
使用Ambari整合的各大数据组件版本(hadoop,spark,hbase,phoenix)等
spark course pdf
spark课程pdf集合,SparkSQL与DataFrame,Spark MLlib基础
如何创建一个编号范围
使用编号范围,可以很容易的让程序自动获得一个新的连续号码,或者检查用户输入的号码是否存在。编号范围还可以附加一些其他数据,让编号附属于某个组织级别(公司代码、销售组织等等)和某个年度。<br>下面用一个简单的实例来讲解创建编号范围的方法,以及它的使用。