精华内容
下载资源
问答
  • 外部数据

    2018-05-21 12:23:37
    不同格式,不同压缩格式,不同存储接口,用户肯定希望从不同数据源收集数据方便、快速从不同数据源()经过混合处理(json直接和parqent jion)再将结果以特定格式写回到指定系统上去sparksql 1.2====》外部数据源...

    产生背景

    概述

    目标

    操作parquet文件数据

    操作hive数据

    操作mysql数据

    统一


    产生背景

    每一个spark都是以加载数据开始,经过一系列处理,最后存储到其他地方;

    不同格式,不同压缩格式,不同存储接口,用户肯定希望从不同数据源收集数据

    方便、快速从不同数据源()经过混合处理(json直接和parqent jion)再将结果以特定格式写回到指定系统上去

    sparksql 1.2====》外部数据源api

    问题:

    1.加载、保存数据并不简单,比如从关系数据库sqoop加载到hdfs然后..

    2.解析原生数据(text/json/parquet)

    3.转换数据格式

    数据集存储在不同的存储系统、格式上面



    api概述:

    一种扩展方式,将外部数据源整合到sparl sql中

    读写各种格式(指定格式和路径local,分布式)


    目标:

    开发人员:是否需要把代码合并到spark源码中?比如访问微博(按照dataframe api实现)

    对于使用人员:非常容易加载保存

    支持:build-in json parquet jdbc 其他数据源:packages:外部的,非spark内置的,一个网站


    操作 parqeut文件数据

    展开全文
  • 实时更新Excel文档外部数据源的数据 单元格区域、Excel 表、数据透视表或数据透视图均可以连接到外部数据源(数据源:用于连接数据库的一组存储的“源”信息。数据源包含数据库服务器的名称和位置、数据库驱动程序...

    实时更新Excel文档外部数据源的数据

    单元格区域、Excel 表、数据透视表或数据透视图均可以连接到外部数据源(数据源:用于连接数据库的一组存储的“源”信息。数据源包含数据库服务器的名称和位置、数据库驱动程序的名称以及在登录到数据库时所需的信息。)。可以刷新数据以更新此外部数据源的数据。每次刷新数据时,均可以看到数据源中最新版本的信息,其中包括对数据进行的任何更改。


    安全性  当前,您的计算机可能禁用了与外部数据的连接。要在打开工作簿时刷新数据,必须使用“信任中心”栏以启用数据连接,或者将工作簿放置在受信任位置。

    打开工作簿时自动刷新数据

    可以在打开工作簿时自动刷新外部数据区域,并可以选择在保存工作簿时选择不保存外部数据,从而减小工作簿文件的大小。


    1. 单击外部数据区域中的某个单元格。
    2. 在“数据”选项卡上的“连接”组中,单击“刷新”旁边的箭头,然后单击“连接属性”。
    3. 单击“使用状况”选项卡。
    4. 选中“打开文件时刷新数据”复选框。
    5. 如果要在保存工作簿时保存查询定义,但不保存外部数据,请选中“保存工作表前,从查询表中删除外部数据”复选框。


    注释   要在打开工作簿时刷新数据透视表中的数据,还可以使用“数据透视表选项”对话框的“数据”选项卡上“‘数据透视表数据’部分”下的“打开文件时刷新数据”。

    刷新多个外部数据区域

    在“数据”选项卡上的“连接”组中,单击“刷新”旁边的箭头,然后单击“全部刷新”。


    如果有多个打开的工作簿,则必须在每个工作簿中单击“全部刷新”以刷新外部数据。

    刷新导入的文本文件中的数据


    1. 选择包含导入文本文件的工作表。
    2. 在“数据”选项卡上的“连接”组中,单击“刷新”旁边的箭头,然后单击“刷新”。
    3. 在“导入文本文件”对话框中选择文本文件,然后单击“导入”。


    定期自动刷新数据


    1. 单击外部数据区域中的某个单元格。
    2. 在“数据”选项卡上的“连接”组中,单击“刷新”旁边的箭头,然后单击“连接属性”。
    3. 单击“使用状况”选项卡。
    4. 选中“刷新频率”复选框,然后输入每次刷新操作之间的分钟数。


    刷新外部数据区域时要求密码

    存储的密码是不加密的,我们不建议您使用。如果您的数据源需要密码 (密码:一种限制访问工作簿、工作表或部分工作表的方法。Excel 密码最多可有 255 个字母、数字、空格和符号。在设置和输入密码时,必须键入正确的大小写字母。)才能连接,那么您可以要求在刷新外部数据区域之前输入密码。此过程不适用于从文本文件 (*.txt) 或 Web 查询 (*.iqy) 检索的数据。http://www.cda.cn/view/16830.html

    单击外部数据区域中的某个单元格。

    在“数据”选项卡上的“连接”组中,单击“刷新”旁边的箭头,然后单击“连接属性”。

    单击“定义”选项卡。

    清除“保存密码”复选框。

    注释   Microsoft Office Excel 仅在每个 Excel 会话中首次刷新外部数据区域时提示输入密码。下次启动 Excel 时,如果打开包含查询的工作簿并尝试进行刷新操作,则会提示您再次输入密码。

    转载于:https://www.cnblogs.com/amengduo/p/9587636.html

    展开全文
  • greenplum使用PXF访问外部数据

    千次阅读 2019-10-10 11:22:41
    Greenplum平台扩展框架(PXF...这些连接器可以将外部数据源映射到Greenplum数据库表,通过外部表的形式查询外部数据源。 PXF可支持访问的外部数据源有HDFS,Hive和HBase。其中可以对HDFS数据进行读和写操作。 下面介...

    Greenplum平台扩展框架(PXF)通过内置连接器提供对外部数据的访问,
    这些连接器可以将外部数据源映射到Greenplum数据库表,通过外部表的形式查询外部数据源。

    PXF可支持访问的外部数据源有HDFS,Hive和HBase。其中可以对HDFS数据进行读和写操作。

    下面介绍PXF访问Hive数据的方法
    一)PXF访问Hive数据
    PXF Hive连接器支持多种hive的数据格式,包括TextFile,SequenceFile,RCFile,ORC,Parquet.

    1、首先,创建一个文本文件:

    $ vi /tmp/pxf_hive_datafile.txt

    2、将以下数据添加到pxf_hive_datafile.txt; 请注意使用逗号,分隔四个字段值:

    Prague,Jan,101,4875.33
    Rome,Mar,87,1557.39
    Bangalore,May,317,8936.99
    Beijing,Jul,411,11600.67
    San Francisco,Sept,156,6846.34
    Paris,Nov,159,7134.56
    San Francisco,Jan,113,5397.89
    Prague,Dec,333,9894.77
    Bangalore,Jul,271,8320.55
    Beijing,Dec,100,4248.41

    3、在default数据库中创建一个命名为sales_info的Hive表(这里的hive表是textfile格式):

    hive> CREATE TABLE sales_info (location string, month string,
    number_of_orders int, total_sales double)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’
    STORED AS textfile;

    4、将pxf_hive_datafile.txt示例数据文件加载到sales_info表中:

    hive> LOAD DATA LOCAL INPATH ‘/tmp/pxf_hive_datafile.txt’
    INTO TABLE sales_info;

    5、执行查询sales_info以验证您是否成功加载了数据:

    hive> SELECT * FROM sales_info;

    6、确定Hive表的HDFS位置

    hive> DESCRIBE EXTENDED sales_info;
    Detailed Table Information

    location:hdfs://:/apps/hive/warehouse/sales_info

    7、gp访问TextFile格式的Hive表
    可以使用Hive和HiveText配置文件访问以TextFile格式存储的Hive表格数据。

    示例:使用Hive配置文件
    gp=# CREATE EXTERNAL TABLE salesinfo_hiveprofile(location text, month text, num_orders int, total_sales float8)
    LOCATION (‘pxf://default.sales_info?PROFILE=Hive’)
    FORMAT ‘custom’ (formatter=‘pxfwritable_import’);

    示例:使用HiveText配置文件
    gp=# CREATE EXTERNAL TABLE salesinfo_hivetextprofile(location text, month text, num_orders int, total_sales float8)
    LOCATION (‘pxf://default.sales_info?PROFILE=HiveText&DELIMITER=\x2c’)
    FORMAT ‘TEXT’ (delimiter=E’,’);

    8、gp访问RCFile格式的Hive表
    PXF HiveRC配置文件提供对RCFile数据的访问

    示例:使用HiveRC配置文件查询Hive表中的RCFile格式的数据。
    (1)启动hive命令行并创建一个以RCFile格式存储的Hive表:
    hive> CREATE TABLE sales_info_rcfile (location string, month string,
    number_of_orders int, total_sales double)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’
    STORED AS rcfile;

    (2)将sales_info表中的数据插入到sales_info_rcfile:
    hive> INSERT INTO TABLE sales_info_rcfile SELECT * FROM sales_info;
    样本数据集的副本现在以Hive sales_info_rcfile表格中的RCFile格式存储。

    (3)查询sales_info_rcfileHive表以验证数据是否正确加载:
    hive> SELECT * FROM sales_info_rcfile;

    (4)使用PXF HiveRC配置文件创建一个可读的Greenplum数据库外部表,引用sales_info_rcfile您在前面的步骤中创建的Hive 表。
    你必须在LOCATION和FORMAT子句中指定一个分隔符。
    gp=# CREATE EXTERNAL TABLE salesinfo_hivercprofile(location text, month text, num_orders int, total_sales float8)
    LOCATION (‘pxf://default.sales_info_rcfile?PROFILE=HiveRC&DELIMITER=\x2c’)
    FORMAT ‘TEXT’ (delimiter=E’,’);

    (5)查询外部表格:
    gp=# SELECT location, total_sales FROM salesinfo_hivercprofile;

    9、gp访问ORC格式的Hive表
    优化的行列(ORC)文件格式是列式文件格式,它提供了一种高效的方式来存储和访问HDFS数据。
    在压缩和性能方面,ORC格式改进了文本和RCFile格式。
    PXF支持ORC版本1.2.1。

    -----gp支持ORC文件格式的配置文件的一些限制条件------
    选择支持ORC的配置文件时,请考虑以下几点:

    1)HiveORC配置文件:
    一次读取一行数据。
    支持列投影。
    支持复杂的类型。您可以访问由数组,地图,结构和联合数据类型组成的Hive表。PXF序列化每个这些复杂的类型text。

    2)HiveVectorizedORC配置文件:
    一次最多可读取1024行数据。
    不支持列投影。
    不支持复杂类型或时间戳数据类型。

    注意:HiveORC和HiveVectorizedORC配置文件当前不支持谓词下推。

    (1)示例:使用HiveORC配置文件查询Hive表中的ORC格式的数据
    gp外部表如下:
    gp=> CREATE EXTERNAL TABLE salesinfo_hiveORCprofile(location text, month text, num_orders int, total_sales float8)
    LOCATION (‘pxf://default.sales_info_ORC?PROFILE=HiveORC’)
    FORMAT ‘CUSTOM’ (formatter=‘pxfwritable_import’);

    (2)示例:使用HiveVectorizedORC配置文件查询Hive表中的ORC格式的数据
    gp外部表如下:
    gp=> CREATE EXTERNAL TABLE salesinfo_hiveVectORC(location text, month text, num_orders int, total_sales float8)
    LOCATION (‘pxf://default.sales_info_ORC?PROFILE=HiveVectorizedORC’)
    FORMAT ‘CUSTOM’ (formatter=‘pxfwritable_import’);

    10、gp访问Parquet格式的Hive表
    定义Greenplum数据库外部表格:
    gp=# CREATE EXTERNAL TABLE pxf_parquet_table (location text, month text, number_of_orders int, total_sales double precision)
    LOCATION (‘pxf://default.hive_parquet_table?profile=Hive’)
    FORMAT ‘CUSTOM’ (formatter=‘pxfwritable_import’);
    ————————————————
    版权声明:本文为CSDN博主「kkx1988」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/kkx1988/article/details/79171963

    展开全文
  • spark内部调用外部数据源包的类是下面,包括解析BaseRelation,提取schema等 package org.apache.spark.sql.execution.datasources 文件接口 扩展外部文件数据源 需要实现的接口所在文件fileSourceInterf...

    比较灵活,可以连接外部任何系统,spark-jdbc、Cassandra的实现方式都是这种。需要实现下面几个类

    • DefaultSource

    入口类,用来建立外部数据源连接,SparkSQL默认会找这个名字,不要改类名。

    import org.apache.spark.sql.SQLContext
    import org.apache.spark.sql.sources.{BaseRelation, DataSourceRegister, RelationProvider}
    import org.slf4j.LoggerFactory
    
    private[tsfile] class DefaultSource extends RelationProvider with DataSourceRegister {
      private final val logger = LoggerFactory.getLogger(classOf[DefaultSource])
    
      override def shortName(): String = "tsfile"
    
      override def createRelation(
                                   sqlContext: SQLContext,
                                   parameters: Map[String, String]): BaseRelation = {
    
        val tsfileOptions = new TSFileOptions(parameters)
    
        if (tsfileOptions.url == null || tsfileOptions.sql == null) {
          sys.error("TSFile node or sql not specified")
        }
        new TSFileRelation(tsfileOptions)(sqlContext.sparkSession)
    
      }
    }
    
    • 自定义Relation

    最主要的类,用来向SparkSQL返回表结构和数据的接口都在这里

    import org.apache.spark.Partition
    import org.apache.spark.rdd.RDD
    import org.apache.spark.sql.{Row, SQLContext, SparkSession}
    import org.apache.spark.sql.sources.{BaseRelation, Filter, PrunedFilteredScan}
    import org.apache.spark.sql.types.{IntegerType, LongType, StructField, StructType}
    import org.slf4j.LoggerFactory
    
    //用来分区的信息
    private case class TSFilePartitioningInfo(
                                               start: Long,
                                               end: Long,
                                               numPartitions: Int)
    
    
    private object TSFileRelation {
    
      private final val logger = LoggerFactory.getLogger(classOf[TSFileRelation])
    
    	//计算分区
      def getPartitions(partitionInfo: TSFilePartitioningInfo): Array[Partition] = {
      return Array[Partition](TSFilePartition(null, 0, 0L, 0L))
     }
    }
        
    class TSFileRelation protected[tsfile](val options: TSFileOptions)(@transient val sparkSession: SparkSession)
      extends BaseRelation with PrunedFilteredScan {
    
      override def sqlContext: SQLContext = sparkSession.sqlContext
    
      private final val logger = LoggerFactory.getLogger(classOf[TSFileRelation])
    
    	//通过自己构造的参数构造表结构
      override def schema: StructType = {
        Converter.toSparkSchema(options)
      }
    
    	//根据SparkSQL传来的列名和过滤条件构造自己的RDD
      override def buildScan(requiredColumns: Array[String], filters: Array[Filter]): RDD[Row] = {
        val start: Long = options.lowerBound.toLong
        val end: Long = options.upperBound.toLong
        val numPartition = options.numPartition.toInt
    
        val partitionInfo = TSFilePartitioningInfo(start, end, numPartition)
    
        val parts = TSFileRelation.getPartitions(partitionInfo)
    
        new TSFileRDD(sparkSession.sparkContext,
          options,
          schema,
          requiredColumns,
          filters,
          parts).asInstanceOf[RDD[Row]]
      }
    }
    
    
    • 自定义RDD

    继承RDD,重写分区方法getPartitions,和返回每个分区数据的方法compute

    //每个partition的信息,继承Partition
    case class TSFilePartition(where: String, id: Int, start: java.lang.Long, end:java.lang.Long) extends Partition {
      override def index: Int = id
    }
    
    
    
    class TSFileRDD private[tsfile](
                                    sc: SparkContext,
                                    options: TSFileOptions,
                                    schema : StructType,
                                    requiredColumns: Array[String],
                                    filters: Array[Filter],
                                    partitions: Array[Partition])
      extends RDD[Row](sc, Nil) {
    
    	//给定一个分区,返回其中的数据
      override def compute(split: Partition, context: TaskContext): Iterator[Row] = new Iterator[Row] {
        var finished = false
        var gotNext = false
        var nextValue: Row = null
        val inputMetrics = context.taskMetrics().inputMetrics
    
        val part = split.asInstanceOf[TSFilePartition]
     
        var taskInfo: String = _
        Option(TaskContext.get()).foreach { taskContext => {
          taskContext.addTaskCompletionListener { _ => conn.close()}
          taskInfo = "task Id: " + taskContext.taskAttemptId() + " partition Id: " + taskContext.partitionId()
          println(taskInfo)
        }
        }
    	
    	//存放每个Row的数据
        private val rowBuffer = Array.fill[Any](schema.length)(null)
    
    	
        override def hasNext: Boolean = {
        	false
        }
    
        override def next(): Row = {
           rowBuffer(index) = null
           Row.fromSeq(rowBuffer)
        }
      }
    
      override def getPartitions: Array[Partition] = partitions
    
    }
    

    调用示例:

    ```
    import org.apache.spark.SparkContext
    import org.apache.spark.sql.SQLContext
    
    object test {
      def main(args: Array[String]): Unit = {
        var sqlContext = new SQLContext(new SparkContext("local[2]", "readIoTDB"))
        val createSql = "create temporary view iotdb using 包名 options(url = \"jdbc:tsfile://127.0.0.1:6667/\", union = \"true\")"
        sqlContext.sql(createSql)
        val df = sqlContext.sql("select * from iotdb")
    
        df.show()
    
      }
    
    }
    ```
    

    完整代码:

    https://github.com/qiaojialin/spark-iotdb-connector

    有兴趣可以关注公众号:数据库漫游指南

    在这里插入图片描述

    展开全文
  • 1 概述 Spark1.2中,Spark SQL开始正式支持外部数据源。Spark SQL开放了一系列接入外部数据源的接口,来让开发者可以实现。...我们可以开发出任意的外部数据源来连接到Spark SQL,然后我们就可以通过外部数...
  • Spark SQL之External DataSource外部数据

    千次阅读 2015-10-02 11:53:47
    http://blog.csdn.net/oopsoom/article/details/42061077一、Spark SQL External ...Spark SQL开放了一系列接入外部数据源的接口,来让开发者可以实现。 这使得Spark SQL支持了更多的类型数据源,如json, parquet,
  • HAWQ技术解析(九) —— 外部数据

    千次阅读 2017-03-23 11:03:51
    大部分的外部数据是以HAWQ外部表的形式进行访问的,但对于Hive,除外部表方式,PXF还能够与HCatalog整合直接查询Hive表。PXF内建多个连接器,用户也可以按照PXF API,创建自己的连接器,访问其它并行数据存储或处理...
  • 使用PXF读写外部数据 Greenplum平台扩展框架(PXF)实现了一个名为的协议pxf,您可以使用该协议创建引用外部数据存储中的数据的外部表。PXF协议和Java服务打包为Greenplum数据库扩展。 如果想通过pxf访问外部数据源...
  • SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集前言:在学习完《SAS编程与商业案例》后,虽然能够接手公司的基本工作,但是为了更深入的SAS学习,也为了站在更高的一个层次上去掌握和优化公司工作...
  • RPC外部数据表示(XDR)

    千次阅读 2013-06-01 15:59:09
    RPC外部数据表示(XDR)    RPC的xdr(外部数据表示)是为了编码(解码)C语言定义的数据,从而使得RPC传输的数据平台无关性。  XDR对C语言常见的类型编码规则在之前已经说过了,具体请参考《unix网络编程...
  • 使用 Microsoft Query查询外部数据

    千次阅读 2008-10-23 08:22:00
    使用Microsoft Query连接外部数据源后,需要根据需要设置查询向导,以便向Excel表中导入外部数据。接着上述技巧111以Access为例介绍使用Microsoft Query查询外部数据。 设置“查询向导-选择列”对话框选择要导入的...
  • 任务要将数据文件geo.txt加载进行。因为是别人写的总体项目,不能乱动位置。只能将geo.txt打包到jar中某目录。比如,放到.class文件下怎么加载:http://riddickbryant.iteye.com/blog/436693 Java中的...
  • 需要打包的文件引用了外部数据(target.csv)。 直接打包后并不能包含此csv文件。 打包的ljesf_analysis.py文件需要先从csv文件中读取数据,才能进行分析。 解决方案 方案一1 pyinstaller -F --add-data ...
  • oracle 使用sqlload导入外部数据

    千次阅读 2019-04-02 18:52:46
    使用SQLload大批量导入数据 第一步:创建表 CREATE TABLE "TESTHT"."DEMO" ( "ID" VARCHAR2(20 BYTE) NOT NULL ENABLE, "NAME" VARCHAR2(20 BYTE), "AGE" VARCHAR2(20 BYTE) ) 第二步 : ...
  • 本文简单介绍pandas.read_excel()参数应用 官方函数参数 pandas.read_excel(io, sheetname=0, header=0, skiprows=None, ... #如果excel不包含标题行,或者需修改列名称时, 使用该参数 )  
  • 文件数据储存之外部储存

    万次阅读 多人点赞 2019-03-01 23:39:06
    Android官方Api:每个兼容 Android 的设备都支持可用于保存文件的共享“外部存储”。 该存储可能是可移除的存储介质(例如 SD 卡)或内部(不可移除)存储。 保存到外部存储的文件是全局可读取文件,而且,在计算机...
  • SparkSQL专门为读取HDFS上的文件开的外部数据源接口,spark-parquet、csv、json等都是这种方式。 DefaultSource 入口类,用来建立外部数据源连接,SparkSQL默认会找这个名字,不要改类名。基本所有接口都在这个...
  • PB动态创建DW(包括外部数据源)

    千次阅读 2007-12-16 02:35:00
    说明:外部数据源的DW没有SQL,但跟有SQL的DW相同的部分就是DW语法的table部分。 而创建DW的时候,利用syntax来创建就好了,SQL创建syntax就可以省略。 对于例如区域、显示、HTML、update等等属性, PB都有默认的...
  • 分为外部传输率 (External TransferRate) 和内部传输率 (Internal Transfer Rate) ,两者之间有一块缓冲区[①]以缓解速度差距。硬盘数据传输率表现出硬盘工作时数据传输速度,是硬盘工作性能的具体表现,它并不是...
  • 导入数据到hive外部

    千次阅读 2018-09-04 13:26:36
    导入数据到hive外部表; 1.hive命令创建外部表。 create EXTERNAL table applogsnew ( applogid string, msgtype string, clienttype string, userid bigint ) PARTITIONED BY (create_time string)  row format ...
  • 数据结构基础系列(10):外部排序

    千人学习 2015-12-06 11:10:42
    数据结构课程是计算机类专业的专业基础课程,在IT...系列课程包含11个部分,本课为第10部分外部排序。外部排序针对数据量很大时,排序过程必须要在内、外存之间交换数据时的应用,介绍磁盘排序和磁带排序的相关算法。
  • 外部源获取样本数据 如果条件允许,学本系列内容时尽量用你熟悉的数据集;方便起见,我们用scikit-learn的内置数据库。这些内置数据库可用于测试不同的建模技术,如回归和分类。而且这些内置数据库都是...
  • 三 File 数据外部存储 每一个android设备支持一个共享“外部存储”,您可以使用它来保存文件。这可能是一个移动存储媒体(如一个SD卡)或一个内部(固定的)存储。文件保存到外部存储是公开的,可由用户修改他们。 ...
  • ORACLE创建外部表及数据加载

    千次阅读 2013-09-12 23:03:14
    数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.Oracle的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用dml操作,创建索引 二.创建外部表...
  • Spark DataFrame读取外部文件并解析数据格式 Spark DataFame实际是DataSet的一个特殊类型,DataFrame对sql过程做很了很多优化。现在DataFrame用起来和Python的Pandas一样方便了,这里记录一下DataFrame读取外部文件...
  • 在 Excel 中,有时会需要创建外部链接来引用其他工作簿的单元格内容,但是如果想要找出所有链接并且还要将这些外部数据链接列在一个工作簿当中是有点难度的。下面我会介绍一些快捷方法,不仅能够快速帮你找出这些...
  • 在机器学习过程中,离不开大量的数据的训练和测试,而第三方库中所携带的数据库数量又是有限,当我们需要使用自己的数据时,如何将数据外部读入,并将其转化为训练数据和测试数据?本文将介绍一种数据读入及转化...
  • Spark SQL在Spark1.2中提供了External DataSource API,开发者可以根据接口来实现自己的外部数据源,如avro, csv, json, parquet等等。 在Spark SQL源代码的org/spark/sql/sources目
  • 这里写自定义目录标题原理新的改变功能快捷键合理的创建标题,有助于目录的...在Excel表格中,引用单元格(包括引用其他工作簿)的数据时,==“显示公式”==的功能可以让Excel直接显示公式和所引用的单元格地址,然后我

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 837,416
精华内容 334,966
关键字:

外部数据包括什么