zoukankan      html  css  js  c++  java
  • spark-shell与scala生成parquet文件

    spark-shell用户
    spark-shell只能spark用户来进行初始化,如果用hdfs或者root将会卡在spark-shell的初始化那个地方。可以用这两个用户来验证spark安装时成功地;但是如果想要通过shell来执行code、command,那么还是要用spark用户。
    但是如果spark是standalone的安装模式,那么可以不考虑以上的权限问题(权限很多限制来自于YARN),即使root用户,也可以进入到命令行模式
     
    spark读取文件的分布性质
    我才用的val employee = sqlContext.read.json("file:///opt/hdpconfig.txt")经常会爆出来文件不存在,让我甚是困惑,后来想明白了,因为sparkContext告知YARN去做加载这件事情,YARN不一定分派到了那台机器的,所以如果没有在当前的机器上面,就会告知文件不存在,如果2/3概率分配到了65/68两台机器,那么就可以,如果分配到了70机器,文件就不存在。
    所以大数据技术读取文件信息,file:///这种形式慎用,最好导入到hdfs中,通过hdfs://这种形式来进行处理。
     
    spark写文件
    1 scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    2 sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@4cc69f5c
    3 scala> val employee = sqlContext.read.json("/data/employee.json")
    4 employee: org.apache.spark.sql.DataFrame = [address: string, id: string, name: string, sexural: string]
    5 scala> employee.write.parquet("/data/parquet/employee.parquet")
     
    PS:路径没有特别指示,就是指hdfs路径。
  • 相关阅读:
    将一个float型转化为内存存储格式的步骤
    判断是否是中文、英文字符串
    打开文件对话框
    线性表之四,受限的线性表,队列
    线性表之三,受限的线性表,栈
    数据结构
    List
    SamplesHashtable
    Exception
    maven指定本地仓库
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/8470784.html
Copyright © 2011-2022 走看看