DataFrame Api 练习(需要了解下functions.scala源码)
package df import org.apache.spark.sql.SparkSession object DataFrameDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("DF_DEMO").master("local").getOrCreate() /** * 测试数据内容: * {"id":1,"name":"zhangsan"} * {"id":3,"name":"lisi"} * {"id":2,"name":"wangwu"} */ val df = spark.read.json("file:///F:\\test\\1.json") //1.展示df的内容, show方法默认展示20行, 每列限制20个字符,超出就截断 df.show() //2.打印schema df.printSchema() //3.查询id列 (如果id列不是schema里的列,会报错找不到列!!!) df.select("id").show() df.select(df("id")).show() //需要引入隐式转换 import spark.implicits._ df.select('id).show() df.select($"id").show() //4.group by (借助count转为DataFrame) df.groupBy("id").count().show() //5.使用sql的写法 //createGlobalTempView会把表people_tbl建在global_temp数据库下 df.createGlobalTempView("people_tbl") //查询时候要指定数据库global_temp, 否则会报错找不到表!!! // spark.sql("select * from people_tbl").show() spark.sql("select * from global_temp.people_tbl").show() //global temp view在一个application的多个session中都可见!!! spark.newSession().sql("SELECT * FROM global_temp.people_tbl").show() //6.head从头取n个数据的Array df.head(2).foreach(println) //7.filter操作!!! /** * 输出结果: * +---+--------+ * | id| name| * +---+--------+ * | 1|zhangsan| * | 3| lisi| * +---+--------+ */ df.filter("name='lisi' or id=1").show() //name以w开头的 df.filter("substr(name,0, 1)='w'").show() //8.sort默认是字典升序 df.sort("name").show() //字典降序col.desc, 按照多列排序 df.sort(df.col("name").desc, df.col("id").asc).show() //9.as别名 /** * 输出结果: * +------+ * |stu_id| * +------+ * | 1| * | 3| * | 2| * +------+ */ df.select(df.col("id").as("stu_id")).show() //10.join操作(join 时候on的条件必须要使用 === 连接 !!!),join()的第三个参数指定连接方式 /** * 输出结果 * +---+--------+---+--------+ * | id| name| id| name| * +---+--------+---+--------+ * | 1|zhangsan| 1|zhangsan| * | 3| lisi| 3| lisi| * | 2| wangwu| 2| wangwu| * +---+--------+---+--------+ */ df.join(df, df.col("id") === df.col("id"), "inner").show() //11.orderBy 底层调用的是sort() df.orderBy().show() df.sort().show() //12.limit和head的区别 /** * head :是一个action, 返回数组 * limit :返回一个 Dataset. **/ df.head(2).foreach(println) df.limit(2).show() } }
相关推荐
python库。 资源全名:rich-dataframe-0.1.1.tar.gz
matlab开发-DataFrame。一个面向对象的表状数据结构,类似于熊猫数据帧
您可以使用来自 Github Archive 的真实数据集来实际学习 Apache Spark DataFrame API。 Apache Spark DataFrames 是数据科学家非常有用的数据分析工具。 它使我们能够更轻松、更快速地分析数据。 Reynold Xin、...
用Python玩转数据 04_4-dataframe.mp4
简单一个示例,演示Spark中DataFrame的创建与操作
Pandas-DataFrame常用基础知识点总结,代码示例,主要有对某列字符替换、groupby分组统计、聚合统计、根据某列进行排序、dataframe格式转字典、datafrane 多行合并为一行、新增与删除某列、删除某列字符大于8的行、...
测试然后从代码目录运行以下命令 java -cp target/spark-dataframe-examples.jar com.madhukaraphatak.spark.dataframe.DataFrameExample local5.加载到IDE 您可以从终端运行所有示例。 如果要从IDE运行,请执行以下...
java版本pandas
Flask Pandas Dataframe是一个one-file项目,可以帮助初学者了解一些Flask基本概念: 创建一个简单的Flask 下载公共DF 创建一个SQLite数据库和一个表来保存信息 使用新的custom command熊猫加载到数据库中 在...
详细介绍了基于RDD的DataFrame数据结构以及操作接口。
例子中定义了多个List数据集合,包括用户信息,订单信息,用户订单信息,将List对象生成DataFrame,使用SparkSQL查询将多个DataFrame合成一个DataFrame,使用Scala语言编写。
gspread-dataframe 该软件包使Google电子表格中的工作表与Pandas DataFrame之间的数据流变得容易。 可以获取使用任何工作表gspread包可以检索作为与数据帧get_as_dataframe ; 可以使用set_with_dataframe将...
utl-python-panda-dataframe-sas-dataset熊猫数据框到sas数据集熊猫数据框到sas数据集 1. I was unable to create a SAS table directly in python using the Carolina S-JDBC driver 2. I was unable to read a ...
使用数据框的spark-hbase-ingestion / ** 转换记录以插入HBase的方法 @param记录 @param cf列族 @返回 */ def toHbaseRecords(记录:Array [(String,Array [(String,String)])],cf:String):RDD [...
你可以在Spark SQL上引擎上使用DataSet/DataFrame API处理流数据的聚集,事件窗口,和流与批次的连接操作等。最后Structured Streaming 系统快速,稳定,端到端的恰好一次保证,支持容错的处理。
rust-dataframe:基于Apache Arrow构建的Rust DataFrame实现
今天小编就为大家分享一篇数据清洗--DataFrame中的空值处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
[Spark]将Spark DataFrame中的数值取出有时候经过Spark SQL计算得到的结果往往就一行,而且需要将该结果取出,作为字符串参与别的代码块的
pySpark-flatten-dataframe PySpark函数可展平从JSON / CSV / SQL / Parquet加载的任何复杂的嵌套数据框结构 例如,对于嵌套的JSON- 展平所有嵌套项:{“ human”:{“ name”:{“ first_name”:“ Jay Lohokare...
Spark的机器学习(ML)库提供了许多分布式ML算法。这些算法包括特征提取、分类、回归、聚类、推荐等任务。ML还提供了用于构建工作流的ML管道、用于调优参数的交叉验证器以及用于保存和加载模型的模型持久性等工具。 其...