// 导入依赖importorg.apache.spark.sql.SparkSessionimportorg.apache.spark.sql.functions._objectSparkGetJsonObjectExample{defmain(args:Array[String]):Unit={// 创建SparkSessionvalspark=SparkSession.builder().appName("SparkGetJsonObjectExample").master("local").getOrCreate()// 读取JSON数据valjsonData...
df2.select(get_json_object($"stu","$.name").alias("name"),get_json_object($"stu","$.age").alias("age")).show 1. 2. ②使用from_json val df2 = df.select(get_json_object($"value","$.stu").alias("stu")) val df3 = df2.select(from_json($"stu",ArrayType(StructType(Struc...
本篇文章主要介绍SparkSQL/Hive中常用的函数,主要分为字符串函数、JSON函数、时间函数、开窗函数以及在编写Spark SQL代码应用时实用的函数算子五个模块。 字符串函数 1. concat 对字符串进行拼接:concat(str1, str2, ..., strN) ,参数:str1、str2...是要进行拼接的字符串。
▶ get_json_object:Spark SQL内置的函数,从一个json字符串中根据指定的json路径抽取一个json对象,第一个参数为column名,用$"column_name"表示,第二个参数为要取的json字段名,"$.字段名"表示。▶ explode:Spark SQL内置的函数,可以从规定的Array或者Map中使用每一个元素创建一列,主要用于数组数据的展...
1. 读取json文件创建DataFrame 代码语言:javascript 代码运行次数:0 运行 AI代码解释 // 读取 json 文件scala>val df=spark.read.json("file:///opt/module/spark/examples/src/main/resources/employees.json")df:org.apache.spark.sql.DataFrame=[name:string,salary:bigint] ...
> SELECT to_json(array(named_struct('a', 1, 'b', 2)); [{"a":1,"b":2}] > SELECT to_json(map('a', named_struct('b', 1))); {"a":{"b":1}} > SELECT to_json(map(named_struct('a', 1),named_struct('b', 2))); {"[1]":{"b":2}} ...
object SparkPi {// 必须是object,如果在IDEA创建文件的时候写为class,main函数是无法加载的。defmain(args: Array[String]){valspark=SparkSession .builder() .appName("SparkPi") .getOrCreate() 检查主类代码配置。 valspark=SparkSession .builder() .appName("SparkPi") .config("key1","value1") ...
val arr= obj.getJSONArray("extInfoList")if(arr !=null&& arr.size > 0) {//得到数组的第一个 json 对象val firstObj = arr.getJSONObject(0) val values= firstObj.getJSONArray("values")if(values !=null&& values.size > 0) { var i= 0while(i <values.size) { ...
5.get_json_object(context,'$.字段') context字段类型是字符串 6.按关键字截取字符串 substring_index(str,delim,count) 说明:substring_index(被截取字段,关键字,关键字出现的次数) 例:select substring_index("blog.jlb51.net","l", 2) 结果:blog.j ...
SELECT get_json_object('{"name": "John", "age": 30}', '$.name') as name; name John 重复字符串函数:repeat select name,repeat(name,2) as name2 from temp12 namename2 John Doe John DoeJohn Doe Jane Smith Jane SmithJane Smith Bob Johnson Bob JohnsonBob Johnson Alice Brown Alice ...