Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Apache spark 使用sparksql创建配置单元表_Apache Spark_Hadoop_Hive_Pyspark - Fatal编程技术网

Apache spark 使用sparksql创建配置单元表

Apache spark 使用sparksql创建配置单元表,apache-spark,hadoop,hive,pyspark,Apache Spark,Hadoop,Hive,Pyspark,在使用spark sql读取数据帧后,我正在尝试使用拼花文件格式创建配置单元表。已在配置单元中使用序列文件格式而不是拼花文件格式创建了表。但在表路径中,我可以看到已创建拼花文件。我无法从配置单元查询此表。这是 我用过的代码 df.write.option("path","/user/hive/warehouse/test/normal").format("parquet").mode("Overwrite").saveAsTable("test.people") 我正在使用spark 2.3和

在使用spark sql读取数据帧后,我正在尝试使用拼花文件格式创建配置单元表。已在配置单元中使用序列文件格式而不是拼花文件格式创建了表。但在表路径中,我可以看到已创建拼花文件。我无法从配置单元查询此表。这是 我用过的代码

df.write.option("path","/user/hive/warehouse/test/normal").format("parquet").mode("Overwrite").saveAsTable("test.people")
我正在使用spark 2.3和hive 2.3.3以及MapR分布

显示创建表格的人员:

ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'path'='maprfs:///user/hive/warehouse/test.db/people')
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.SequenceFileInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'

LazySimpleRecorde用于CSV、TSV和自定义分隔文件

ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'path'='maprfs:///user/hive/warehouse/test.db/people')
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.SequenceFileInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'
对于拼花地板,您必须使用不同的serde或指定存储为拼花地板

STORED AS PARQUET
LOCATION ''
tblproperties ("parquet.compress"="SNAPPY");


因为您使用的是spark,所以如果配置单元表已经存在,那么它将不会接触元数据信息,只会接触更新的数据。从技术上讲,它不会删除并重新创建表。只有当表不存在时,它才会创建表

请从蜂巢中放下桌子,然后运行您的spark代码。或更改表属性,请参见