将类型为Pig Map的列导入数据到spark数据框?

时间:2019-03-01 00:39:23

标签: scala apache-spark apache-spark-sql

因此,我试图将具有“猪地图”类型的列的数据导入到spark数据框中,但找不到关于如何将地图数据分解为名称为“街道”,“城市”和“州”的3列的任何信息。我可能正在寻找错误的内容。现在,我可以使用StructType和StructField选项将它们导入3列。

 <h2>Palindrome detection</h2>
        <code>Detect if a string is a palindrome</code><br /><br />

        Enter a word with 10 or less characters <input type="text" id="userEntry"><br />
        <button type="button" onclick="isPalindrome(document.getElementById('userEntry').value)">Enter</button><br /><br />
   <div id="output"></div>

我需要从以下5列中提取数据的示例行:

val schema = StructType(Array(
   StructField("id", IntegerType, true),
   StructField("name", StringType, true),
   StructField("address", StringType, true))) #this is the part that I need to explode


val data = sqlContext.read.format("com.databricks.spark.csv")
     .option("header", "false")
     .option("delimiter", ";")
     .schema(schema)
     .load("hdfs://localhost:8020/filename")

我需要怎么做才能将地图分解为3列,因此id本质上具有5列的新数据框?我刚启动Spark,但从未使用过猪。通过搜索结构[key#value],我才发现它是一头猪地图。

顺便说一下,我在Scala中使用spark 1.6。谢谢您的帮助。

0 个答案:

没有答案