更新 readme 文章链接
This commit is contained in:
parent
794903370d
commit
1ed71953d0
28
.idea/codeStyles/Project.xml
generated
Normal file
28
.idea/codeStyles/Project.xml
generated
Normal file
@ -0,0 +1,28 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<DBN-PSQL>
|
||||
<case-options enabled="true">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false" />
|
||||
</DBN-PSQL>
|
||||
<DBN-SQL>
|
||||
<case-options enabled="true">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false">
|
||||
<option name="STATEMENT_SPACING" value="one_line" />
|
||||
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||
</formatting-settings>
|
||||
</DBN-SQL>
|
||||
</code_scheme>
|
||||
</component>
|
||||
468
.idea/dbnavigator.xml
generated
Normal file
468
.idea/dbnavigator.xml
generated
Normal file
@ -0,0 +1,468 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DBNavigator.Project.DataEditorManager">
|
||||
<record-view-column-sorting-type value="BY_INDEX" />
|
||||
<value-preview-text-wrapping value="true" />
|
||||
<value-preview-pinned value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DataExportManager">
|
||||
<export-instructions>
|
||||
<create-header value="true" />
|
||||
<friendly-headers value="false" />
|
||||
<quote-values-containing-separator value="true" />
|
||||
<quote-all-values value="false" />
|
||||
<value-separator value="" />
|
||||
<file-name value="" />
|
||||
<file-location value="" />
|
||||
<scope value="GLOBAL" />
|
||||
<destination value="FILE" />
|
||||
<format value="EXCEL" />
|
||||
<charset value="GBK" />
|
||||
</export-instructions>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||
<autoscroll-to-editor value="false" />
|
||||
<autoscroll-from-editor value="true" />
|
||||
<show-object-properties value="true" />
|
||||
<loaded-nodes />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||
<open-files />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.EditorStateManager">
|
||||
<last-used-providers />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ExecutionManager">
|
||||
<retain-sticky-names value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||
<method-browser />
|
||||
<execution-history>
|
||||
<group-entries value="true" />
|
||||
<execution-inputs />
|
||||
</execution-history>
|
||||
<argument-values-cache />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||
<last-used-dependency-type value="INCOMING" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||
<last-used-operator value="EQUAL" />
|
||||
<filters />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||
<recently-used-interfaces />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.Settings">
|
||||
<connections />
|
||||
<browser-settings>
|
||||
<general>
|
||||
<display-mode value="TABBED" />
|
||||
<navigation-history-size value="100" />
|
||||
<show-object-details value="false" />
|
||||
</general>
|
||||
<filters>
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
</filters>
|
||||
<sorting>
|
||||
<object-type name="COLUMN" sorting-type="NAME" />
|
||||
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||
</sorting>
|
||||
<default-editors>
|
||||
<object-type name="VIEW" editor-type="SELECTION" />
|
||||
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||
<object-type name="TYPE" editor-type="SELECTION" />
|
||||
</default-editors>
|
||||
</browser-settings>
|
||||
<navigation-settings>
|
||||
<lookup-filters>
|
||||
<lookup-objects>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="false" />
|
||||
<object-type name="ROLE" enabled="false" />
|
||||
<object-type name="PRIVILEGE" enabled="false" />
|
||||
<object-type name="CHARSET" enabled="false" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="false" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="false" />
|
||||
<object-type name="CLUSTER" enabled="false" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</lookup-objects>
|
||||
<force-database-load value="false" />
|
||||
<prompt-connection-selection value="true" />
|
||||
<prompt-schema-selection value="true" />
|
||||
</lookup-filters>
|
||||
</navigation-settings>
|
||||
<dataset-grid-settings>
|
||||
<general>
|
||||
<enable-zooming value="true" />
|
||||
<enable-column-tooltip value="true" />
|
||||
</general>
|
||||
<sorting>
|
||||
<nulls-first value="true" />
|
||||
<max-sorting-columns value="4" />
|
||||
</sorting>
|
||||
<tracking-columns>
|
||||
<columnNames value="" />
|
||||
<visible value="true" />
|
||||
<editable value="false" />
|
||||
</tracking-columns>
|
||||
</dataset-grid-settings>
|
||||
<dataset-editor-settings>
|
||||
<text-editor-popup>
|
||||
<active value="false" />
|
||||
<active-if-empty value="false" />
|
||||
<data-length-threshold value="100" />
|
||||
<popup-delay value="1000" />
|
||||
</text-editor-popup>
|
||||
<values-actions-popup>
|
||||
<show-popup-button value="true" />
|
||||
<element-count-threshold value="1000" />
|
||||
<data-length-threshold value="250" />
|
||||
</values-actions-popup>
|
||||
<general>
|
||||
<fetch-block-size value="100" />
|
||||
<fetch-timeout value="30" />
|
||||
<trim-whitespaces value="true" />
|
||||
<convert-empty-strings-to-null value="true" />
|
||||
<select-content-on-cell-edit value="true" />
|
||||
<large-value-preview-active value="true" />
|
||||
</general>
|
||||
<filters>
|
||||
<prompt-filter-dialog value="true" />
|
||||
<default-filter-type value="BASIC" />
|
||||
</filters>
|
||||
<qualified-text-editor text-length-threshold="300">
|
||||
<content-types>
|
||||
<content-type name="Text" enabled="true" />
|
||||
<content-type name="Properties" enabled="true" />
|
||||
<content-type name="XML" enabled="true" />
|
||||
<content-type name="DTD" enabled="true" />
|
||||
<content-type name="HTML" enabled="true" />
|
||||
<content-type name="XHTML" enabled="true" />
|
||||
<content-type name="CSS" enabled="true" />
|
||||
<content-type name="Java" enabled="true" />
|
||||
<content-type name="SQL" enabled="true" />
|
||||
<content-type name="PL/SQL" enabled="true" />
|
||||
<content-type name="JavaScript" enabled="true" />
|
||||
<content-type name="JSON" enabled="true" />
|
||||
<content-type name="JSON5" enabled="true" />
|
||||
<content-type name="JSP" enabled="true" />
|
||||
<content-type name="JSPx" enabled="true" />
|
||||
<content-type name="Groovy" enabled="true" />
|
||||
<content-type name="FTL" enabled="true" />
|
||||
<content-type name="TML" enabled="true" />
|
||||
<content-type name="GSP" enabled="true" />
|
||||
<content-type name="ASP" enabled="true" />
|
||||
<content-type name="VTL" enabled="true" />
|
||||
<content-type name="AIDL" enabled="true" />
|
||||
<content-type name="YAML" enabled="true" />
|
||||
<content-type name="Flex" enabled="true" />
|
||||
<content-type name="Manifest" enabled="true" />
|
||||
</content-types>
|
||||
</qualified-text-editor>
|
||||
<record-navigation>
|
||||
<navigation-target value="VIEWER" />
|
||||
</record-navigation>
|
||||
</dataset-editor-settings>
|
||||
<code-editor-settings>
|
||||
<general>
|
||||
<show-object-navigation-gutter value="false" />
|
||||
<show-spec-declaration-navigation-gutter value="true" />
|
||||
<enable-spellchecking value="true" />
|
||||
<enable-reference-spellchecking value="false" />
|
||||
</general>
|
||||
<confirmations>
|
||||
<save-changes value="false" />
|
||||
<revert-changes value="true" />
|
||||
</confirmations>
|
||||
</code-editor-settings>
|
||||
<code-completion-settings>
|
||||
<filters>
|
||||
<basic-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="false" />
|
||||
<filter-element type="OBJECT" id="view" selected="false" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||
<filter-element type="OBJECT" id="index" selected="false" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||
<filter-element type="OBJECT" id="function" selected="false" />
|
||||
<filter-element type="OBJECT" id="package" selected="false" />
|
||||
<filter-element type="OBJECT" id="type" selected="false" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</basic-filter>
|
||||
<extended-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</extended-filter>
|
||||
</filters>
|
||||
<sorting enabled="true">
|
||||
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||
<sorting-element type="OBJECT" id="column" />
|
||||
<sorting-element type="OBJECT" id="table" />
|
||||
<sorting-element type="OBJECT" id="view" />
|
||||
<sorting-element type="OBJECT" id="materialized view" />
|
||||
<sorting-element type="OBJECT" id="index" />
|
||||
<sorting-element type="OBJECT" id="constraint" />
|
||||
<sorting-element type="OBJECT" id="trigger" />
|
||||
<sorting-element type="OBJECT" id="synonym" />
|
||||
<sorting-element type="OBJECT" id="sequence" />
|
||||
<sorting-element type="OBJECT" id="procedure" />
|
||||
<sorting-element type="OBJECT" id="function" />
|
||||
<sorting-element type="OBJECT" id="package" />
|
||||
<sorting-element type="OBJECT" id="type" />
|
||||
<sorting-element type="OBJECT" id="dimension" />
|
||||
<sorting-element type="OBJECT" id="cluster" />
|
||||
<sorting-element type="OBJECT" id="dblink" />
|
||||
<sorting-element type="OBJECT" id="schema" />
|
||||
<sorting-element type="OBJECT" id="role" />
|
||||
<sorting-element type="OBJECT" id="user" />
|
||||
<sorting-element type="RESERVED_WORD" id="function" />
|
||||
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||
</sorting>
|
||||
<format>
|
||||
<enforce-code-style-case value="true" />
|
||||
</format>
|
||||
</code-completion-settings>
|
||||
<execution-engine-settings>
|
||||
<statement-execution>
|
||||
<fetch-block-size value="100" />
|
||||
<execution-timeout value="20" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<focus-result value="false" />
|
||||
<prompt-execution value="false" />
|
||||
</statement-execution>
|
||||
<script-execution>
|
||||
<command-line-interfaces />
|
||||
<execution-timeout value="300" />
|
||||
</script-execution>
|
||||
<method-execution>
|
||||
<execution-timeout value="30" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<parameter-history-size value="10" />
|
||||
</method-execution>
|
||||
</execution-engine-settings>
|
||||
<operation-settings>
|
||||
<transactions>
|
||||
<uncommitted-changes>
|
||||
<on-project-close value="ASK" />
|
||||
<on-disconnect value="ASK" />
|
||||
<on-autocommit-toggle value="ASK" />
|
||||
</uncommitted-changes>
|
||||
<multiple-uncommitted-changes>
|
||||
<on-commit value="ASK" />
|
||||
<on-rollback value="ASK" />
|
||||
</multiple-uncommitted-changes>
|
||||
</transactions>
|
||||
<session-browser>
|
||||
<disconnect-session value="ASK" />
|
||||
<kill-session value="ASK" />
|
||||
<reload-on-filter-change value="false" />
|
||||
</session-browser>
|
||||
<compiler>
|
||||
<compile-type value="KEEP" />
|
||||
<compile-dependencies value="ASK" />
|
||||
<always-show-controls value="false" />
|
||||
</compiler>
|
||||
<debugger>
|
||||
<debugger-type value="ASK" />
|
||||
<use-generic-runners value="true" />
|
||||
</debugger>
|
||||
</operation-settings>
|
||||
<ddl-file-settings>
|
||||
<extensions>
|
||||
<mapping file-type-id="VIEW" extensions="vw" />
|
||||
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||
</extensions>
|
||||
<general>
|
||||
<lookup-ddl-files value="true" />
|
||||
<create-ddl-files value="false" />
|
||||
<synchronize-ddl-files value="true" />
|
||||
<use-qualified-names value="false" />
|
||||
<make-scripts-rerunnable value="true" />
|
||||
</general>
|
||||
</ddl-file-settings>
|
||||
<general-settings>
|
||||
<regional-settings>
|
||||
<date-format value="MEDIUM" />
|
||||
<number-format value="UNGROUPED" />
|
||||
<locale value="SYSTEM_DEFAULT" />
|
||||
<use-custom-formats value="false" />
|
||||
</regional-settings>
|
||||
<environment>
|
||||
<environment-types>
|
||||
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||
</environment-types>
|
||||
<visibility-settings>
|
||||
<connection-tabs value="true" />
|
||||
<dialog-headers value="true" />
|
||||
<object-editor-tabs value="true" />
|
||||
<script-editor-tabs value="false" />
|
||||
<execution-result-tabs value="true" />
|
||||
</visibility-settings>
|
||||
</environment>
|
||||
</general-settings>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||
<execution-variables />
|
||||
</component>
|
||||
</project>
|
||||
52
.idea/workspace.xml
generated
52
.idea/workspace.xml
generated
@ -22,6 +22,7 @@
|
||||
<list default="true" id="1f4b9d3c-5ec4-4f92-99a5-47a66eed35c3" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/note/面试杀招/3道常见的SQL笔试题,你要不要来试试.md" beforeDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -62,7 +63,7 @@
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/note/hadoop" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="node.js.detected.package.eslint" value="true" />
|
||||
<property name="node.js.detected.package.tslint" value="true" />
|
||||
<property name="node.js.path.for.package.eslint" value="project" />
|
||||
@ -91,6 +92,19 @@
|
||||
<recent name="F:\github\TheKingOfBigData\note" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
|
||||
<option name="arquillianRunConfiguration">
|
||||
<value>
|
||||
<option name="containerStateName" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="ServiceViewManager">
|
||||
<option name="viewStates">
|
||||
<list>
|
||||
@ -103,7 +117,7 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" BundledDictionaries="0" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" Dictionaries="0" CorrectionsLimit="5" DefaultDictionary="application-level" UseSingleDictionary="true" />
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
@ -164,14 +178,8 @@
|
||||
<workItem from="1620352892843" duration="2023000" />
|
||||
<workItem from="1620439204571" duration="254000" />
|
||||
<workItem from="1622041556065" duration="2447000" />
|
||||
<workItem from="1622729702567" duration="630000" />
|
||||
</task>
|
||||
<task id="LOCAL-00051" summary="更新readme">
|
||||
<created>1613633732020</created>
|
||||
<option name="number" value="00051" />
|
||||
<option name="presentableId" value="LOCAL-00051" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1613633732020</updated>
|
||||
<workItem from="1622729702567" duration="1611000" />
|
||||
<workItem from="1624294600914" duration="1670000" />
|
||||
</task>
|
||||
<task id="LOCAL-00052" summary="更新readme">
|
||||
<created>1613633826745</created>
|
||||
@ -509,24 +517,30 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1622043594154</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="100" />
|
||||
<task id="LOCAL-00100" summary="更新 readme 文章链接">
|
||||
<created>1622732272559</created>
|
||||
<option name="number" value="00100" />
|
||||
<option name="presentableId" value="LOCAL-00100" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1622732272559</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="101" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
<map>
|
||||
<entry key="MAIN">
|
||||
<value>
|
||||
<State>
|
||||
<option name="COLUMN_ORDER" />
|
||||
</State>
|
||||
<State />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
<option name="oldMeFiltersMigrated" value="true" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||
@ -562,11 +576,11 @@
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state x="506" y="327" key="#com.intellij.framework.addSupport.AddSupportForSingleFrameworkDialog/0.0.1536.824/1920.0.1536.824@0.0.1536.824" timestamp="1614136268236" />
|
||||
<state x="400" y="0" key="CommitChangelistDialog2" timestamp="1622043592049">
|
||||
<state x="400" y="0" key="CommitChangelistDialog2" timestamp="1622732271192">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state x="367" y="0" key="CommitChangelistDialog2/0.0.1536.824/1920.0.1536.824@0.0.1536.824" timestamp="1620353651884" />
|
||||
<state x="400" y="0" key="CommitChangelistDialog2/0.0.1536.824@0.0.1536.824" timestamp="1622043592049" />
|
||||
<state x="400" y="0" key="CommitChangelistDialog2/0.0.1536.824@0.0.1536.824" timestamp="1622732271192" />
|
||||
<state x="549" y="167" key="FileChooserDialogImpl" timestamp="1617869639968">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
@ -575,11 +589,11 @@
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state x="270" y="57" key="SettingsEditor/0.0.1536.824@0.0.1536.824" timestamp="1615778393772" />
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2" timestamp="1622732260398">
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2" timestamp="1622732273689">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2/0.0.1536.824/1920.0.1536.824@0.0.1536.824" timestamp="1620353654761" />
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2/0.0.1536.824@0.0.1536.824" timestamp="1622732260398" />
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2/0.0.1536.824@0.0.1536.824" timestamp="1622732273689" />
|
||||
<state x="494" y="155" key="com.intellij.ide.util.TipDialog" timestamp="1620439204712">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
|
||||
68
README.md
68
README.md
@ -8,7 +8,7 @@
|
||||
|
||||
|
||||
<p align="center">
|
||||
|
||||
|
||||
<a href="https://github.com/BigDataScholar/TheKingOfBigData" target="_blank">
|
||||
<img src="https://img-blog.csdnimg.cn/20210210005107102.png" width=""/>
|
||||
</a>
|
||||
@ -45,26 +45,27 @@
|
||||
|
||||
|
||||
<div> <h3 align="center">King</h3> </div>
|
||||
|
||||
## 文章目录
|
||||
|
||||
> 以下列出的是作者对原创或非原创的一些文章和一些学习资源做了一个汇总,会持续更新!如果帮到了您,请点个star支持一下,谢谢!
|
||||
|
||||
|
||||
|
||||
### Linux
|
||||
### 🍧Linux
|
||||
|
||||
1. [[娱乐]14个简单、有趣、好玩的Linux命令](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/linux/%5B%E5%A8%B1%E4%B9%90%5D14%E4%B8%AA%E7%AE%80%E5%8D%95%E3%80%81%E6%9C%89%E8%B6%A3%E3%80%81%E5%A5%BD%E7%8E%A9%E7%9A%84Linux%E5%91%BD%E4%BB%A4.md)
|
||||
|
||||
|
||||
|
||||
### Shell
|
||||
### 🍨Shell
|
||||
|
||||
1. [Shell进阶必会的几个工具,你都掌握了吗(附真实企业面试题)](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/shell/Shell%E8%BF%9B%E9%98%B6%E5%BF%85%E4%BC%9A%E7%9A%84%E5%87%A0%E4%B8%AA%E5%B7%A5%E5%85%B7%EF%BC%8C%E4%BD%A0%E9%83%BD%E6%8E%8C%E6%8F%A1%E4%BA%86%E5%90%97(%E9%99%84%E7%9C%9F%E5%AE%9E%E4%BC%81%E4%B8%9A%E9%9D%A2%E8%AF%95%E9%A2%98).md)
|
||||
2. [零基础小白如何入门Shell,快来看看(收藏)这篇大总结](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/shell/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%B0%8F%E7%99%BD%E5%A6%82%E4%BD%95%E5%85%A5%E9%97%A8Shell%EF%BC%8C%E5%BF%AB%E6%9D%A5%E7%9C%8B%E7%9C%8B(%E6%94%B6%E8%97%8F)%E8%BF%99%E7%AF%87%E5%A4%A7%E6%80%BB%E7%BB%93.md)
|
||||
|
||||
|
||||
|
||||
### Hadoop
|
||||
### 🍩Hadoop
|
||||
|
||||
1. [你有想过,如何用Hadoop实现"倒排索引"](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hadoop/%E4%BD%A0%E6%9C%89%E6%83%B3%E8%BF%87%EF%BC%8C%E5%A6%82%E4%BD%95%E7%94%A8Hadoop%E5%AE%9E%E7%8E%B0%5B%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95%5D.md)
|
||||
2. [[干货]HDFS常用的40个命令](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hadoop/%5B%E5%B9%B2%E8%B4%A7%5DHDFS%E5%B8%B8%E7%94%A8%E7%9A%8440%E4%B8%AA%E5%91%BD%E4%BB%A4.md)
|
||||
@ -74,15 +75,15 @@
|
||||
5. [[干货]HDFS是怎么做文件管理和容错的?](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hadoop/%5B%E5%B9%B2%E8%B4%A7%5DHDFS%E6%98%AF%E6%80%8E%E4%B9%88%E5%81%9A%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86%E5%92%8C%E5%AE%B9%E9%94%99%E7%9A%84%EF%BC%9F.md)
|
||||
6. [MapReduce 的核心知识点,你都 get 到了吗 ?(干货文章,建议收藏!)](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hadoop/MapReduce%20%E7%9A%84%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E7%82%B9%EF%BC%8C%E4%BD%A0%E9%83%BD%20get%20%E5%88%B0%E4%BA%86%E5%90%97%20_%EF%BC%88%E5%B9%B2%E8%B4%A7%E6%96%87%E7%AB%A0%EF%BC%8C%E5%BB%BA%E8%AE%AE%E6%94%B6%E8%97%8F%EF%BC%81%EF%BC%89.md)
|
||||
|
||||
### Hive
|
||||
### 🍰Hive
|
||||
|
||||
1. [Hive查询的18种方式,你都学会了吗](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hive/Hive%E6%9F%A5%E8%AF%A2%E7%9A%8418%E7%A7%8D%E6%96%B9%E5%BC%8F%EF%BC%8C%E4%BD%A0%E9%83%BD%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%90%97.md)
|
||||
2. [[干货]关于Hive命令的7个小技巧](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/hive/%5B%E5%B9%B2%E8%B4%A7%5D%E5%85%B3%E4%BA%8EHive%E5%91%BD%E4%BB%A4%E7%9A%847%E4%B8%AA%E5%B0%8F%E6%8A%80%E5%B7%A7.md)
|
||||
3. [硬刚Hive | 4万字基础调优面试小总结](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496350&idx=1&sn=1388a9267dd14362b36f8c1c9994204f&chksm=e8dbaa4cdfac235a261e9ed620879a0e703c5b3eac6e7a0b1b6f3129f3378fe208491764f25e&token=1693301572&lang=zh_CN#rd)
|
||||
4. [教你用Hive/Spark实现图谱计算](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496298&idx=1&sn=ed17a5d93b096405c386cd3faf5854a7&chksm=e8dbaab8dfac23ae13ce6293d3f0837f519bb4595ac0a746481da36797d197debebdabed4248&token=1693301572&lang=zh_CN#rd)
|
||||
5. [Hive窗口函数保姆级教程](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247497058&idx=1&sn=d63d260c0c5d8172530843f9542fe70d&chksm=c2d7f2ebf5a07bfd0a6a5c5decf9d2efa32e6d345699832a4db8cf101ae89dc24b6e0894dd27&token=2075738930&lang=zh_CN#rd)
|
||||
|
||||
|
||||
### Spark
|
||||
### 🧁Spark
|
||||
1. [关于Spark的面试题,你应该知道这些!](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/spark/%E5%85%B3%E4%BA%8ESpark%E7%9A%84%E9%9D%A2%E8%AF%95%E9%A2%98%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%9F%A5%E9%81%93%E8%BF%99%E4%BA%9B%EF%BC%81.md)
|
||||
2. [Spark基础能力测试题](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/spark/Spark%E5%9F%BA%E7%A1%80%E8%83%BD%E5%8A%9B%E6%B5%8B%E8%AF%95%E9%A2%98.md)
|
||||
3. [SparkSQL基础测试题](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/spark/SparkSQL%E5%9F%BA%E7%A1%80%E6%B5%8B%E8%AF%95%E9%A2%98.md)
|
||||
@ -92,13 +93,15 @@
|
||||
|
||||
|
||||
|
||||
### Flink
|
||||
### 🍭 Flink
|
||||
|
||||
1. [ 五千字长文带你快速入门FlinkSQL](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/flink/%5B%E5%B9%B2%E8%B4%A7%5D%20%E4%BA%94%E5%8D%83%E5%AD%97%E9%95%BF%E6%96%87%E5%B8%A6%E4%BD%A0%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8FlinkSQL.md)
|
||||
2. [FlinkSQL流处理中的特殊概念](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/flink/FlinkSQL%E6%B5%81%E5%A4%84%E7%90%86%E4%B8%AD%E7%9A%84%E7%89%B9%E6%AE%8A%E6%A6%82%E5%BF%B5.md)
|
||||
3. [干货-13道精选Flink面试题](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/flink/%E5%B9%B2%E8%B4%A7-13%E9%81%93%E7%B2%BE%E9%80%89Flink%E9%9D%A2%E8%AF%95%E9%A2%98.md)
|
||||
4. [基于Flink CDC打通数据实时入湖](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496796&idx=1&sn=32441f1cc9a96c6ee9aeea9f6532ac6e&chksm=c2d7f3d5f5a07ac3b49bd772d83ae6217d8957f0b98ef26602a1a6b08d463819bbe9b560c5d9&token=2075738930&lang=zh_CN#rd)
|
||||
5. [基于 Flink SQL 构建流批一体的 ETL 数据集成](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492119&idx=1&sn=f382fb2cb02079319835d432baaecb2b&chksm=e8dbbac5dfac33d363198239e125113be797842abcd33841ae71d1bb366368e0a636b729e1d3&token=1272273277&lang=zh_CN#rd)
|
||||
|
||||
### 其他组件
|
||||
### 🍫其他组件
|
||||
|
||||
1. [[硬核]Sqoop入门指南](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E5%85%B6%E4%BB%96%E7%BB%84%E4%BB%B6/%5B%E7%A1%AC%E6%A0%B8%5DSqoop%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97.md)
|
||||
2. [从 0 到 1 学习 Presto,这一篇就够了](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E5%85%B6%E4%BB%96%E7%BB%84%E4%BB%B6/%E4%BB%8E%200%20%E5%88%B0%201%20%E5%AD%A6%E4%B9%A0%20Presto%EF%BC%8C%E8%BF%99%E4%B8%80%E7%AF%87%E5%B0%B1%E5%A4%9F%E4%BA%86.md)
|
||||
@ -111,7 +114,7 @@
|
||||
|
||||
|
||||
|
||||
### [大数据实战]电商用户行为数据分析
|
||||
### 🍷[大数据实战]电商用户行为数据分析
|
||||
|
||||
1. [基于 flink 的电商用户行为数据分析【1】项目整体介绍](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E4%BA%8Eflink%E7%9A%84%E7%94%B5%E5%95%86%E7%94%A8%E6%88%B7%E8%A1%8C%E4%B8%BA%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E3%80%901%E3%80%91%20%E9%A1%B9%E7%9B%AE%E6%95%B4%E4%BD%93%E4%BB%8B%E7%BB%8D.md)
|
||||
|
||||
@ -134,7 +137,7 @@
|
||||
|
||||
|
||||
|
||||
### [精品分享]用户画像方法论与工程化解决方案
|
||||
### 🧊[精品分享]用户画像方法论与工程化解决方案
|
||||
|
||||
1. [[用户画像]开发性能调优](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/%5B%E7%94%A8%E6%88%B7%E7%94%BB%E5%83%8F%5D%E5%BC%80%E5%8F%91%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98.md)
|
||||
|
||||
@ -149,29 +152,31 @@
|
||||
6. [[用户画像]标签数据存储之Elasticsearch真实应用](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/%5B%E7%94%A8%E6%88%B7%E7%94%BB%E5%83%8F%5D%E6%A0%87%E7%AD%BE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E4%B9%8BElasticsearch%E7%9C%9F%E5%AE%9E%E5%BA%94%E7%94%A8.md)
|
||||
|
||||
|
||||
### 面试杀招
|
||||
### 🍸 面试杀招
|
||||
1. [Hive高频考点,就怕你都会](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B/%5B%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B%5DHive%E9%AB%98%E9%A2%91%E8%80%83%E7%82%B9%EF%BC%8C%E5%B0%B1%E6%80%95%E4%BD%A0%E9%83%BD%E4%BC%9A.md)
|
||||
2. [Hadoop高频考点,正在刷新你的认知](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B/%5B%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B%5DHadoop%E9%AB%98%E9%A2%91%E8%80%83%E7%82%B9%EF%BC%8C%E6%AD%A3%E5%9C%A8%E5%88%B7%E6%96%B0%E4%BD%A0%E7%9A%84%E8%AE%A4%E7%9F%A5.md)
|
||||
3. [Spark高频考点,必知必会](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B/%5B%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B%5DSpark%E9%AB%98%E9%A2%91%E8%80%83%E7%82%B9%EF%BC%8C%E5%BF%85%E7%9F%A5%E5%BF%85%E4%BC%9A.md)
|
||||
4. [3道常见的SQL笔试题,你要不要来试试](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B/3%E9%81%93%E5%B8%B8%E8%A7%81%E7%9A%84SQL%E7%AC%94%E8%AF%95%E9%A2%98%EF%BC%8C%E4%BD%A0%E8%A6%81%E4%B8%8D%E8%A6%81%E6%9D%A5%E8%AF%95%E8%AF%95.md)
|
||||
4. [面试刷题常见的3种类型的SQL,必知必会](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247497128&idx=1&sn=5d39b57ec74b94e06834b8f5b95c7a46&chksm=c2d7f221f5a07b375e158b4b6df7f84668052ca19aab2dbb89df517e6824f39fb0d30992159a&token=2075738930&lang=zh_CN#rd)
|
||||
5. [系列文章一:精选大数据面试真题10道(混合型)-附答案详细解析](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247490454&idx=1&sn=df5243b8ff5610b2db4c286b99bcf70b&chksm=e8d84344dfafca529409da02e146c11ad06796eee7bdfba600277614dc298827faeb73b3bb2b&token=1819206302&lang=zh_CN#rd)
|
||||
6. [面试系列二:精选大数据面试真题JVM专项-附答案详细解析](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247490676&idx=1&sn=867b21a21cf74ef1ef17cdc96440da86&chksm=e8d844a6dfafcdb0ab18b4f8fd79421986e35a86de931b3d4604d7a2b15a970e8a7d7eb5b200&token=1819206302&lang=zh_CN#rd)
|
||||
7. [看完了108份面试题,我为你总结出了这 10 个【Hive】高频考点(建议收藏)](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E9%9D%A2%E8%AF%95%E6%9D%80%E6%8B%9B/%E7%9C%8B%E5%AE%8C%E4%BA%86108%E4%BB%BD%E9%9D%A2%E8%AF%95%E9%A2%98%EF%BC%8C%E6%88%91%E4%B8%BA%E4%BD%A0%E6%80%BB%E7%BB%93%E5%87%BA%E4%BA%86%E8%BF%99%2010%20%E4%B8%AA%E3%80%90Hive%E3%80%91%E9%AB%98%E9%A2%91%E8%80%83%E7%82%B9%EF%BC%88%E5%BB%BA%E8%AE%AE%E6%94%B6%E8%97%8F%EF%BC%89.md)
|
||||
|
||||
|
||||
### 程序人生
|
||||
### 🍵 程序人生
|
||||
|
||||
1. [程序人生/简单谈谈最近在看的几本书「数据中台,用户画像」](https://github.com/BigDataScholar/TheKingOfBigData/tree/master/note/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F)
|
||||
2. [简单谈谈最近在看的几本书「数据中台,用户画像」](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/%E7%AE%80%E5%8D%95%E8%B0%88%E8%B0%88%E6%9C%80%E8%BF%91%E5%9C%A8%E7%9C%8B%E7%9A%84%E5%87%A0%E6%9C%AC%E4%B9%A6%E3%80%8C%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0%EF%BC%8C%E7%94%A8%E6%88%B7%E7%94%BB%E5%83%8F%E3%80%8D.md)
|
||||
3. [[云上有为 · 未来无界] 2021上海站 ECUG Con 第一天回忆录](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/%5B%E4%BA%91%E4%B8%8A%E6%9C%89%E4%B8%BA%20%C2%B7%20%E6%9C%AA%E6%9D%A5%E6%97%A0%E7%95%8C%5D%202021%E4%B8%8A%E6%B5%B7%E7%AB%99%20ECUG%20Con%20%E7%AC%AC%E4%B8%80%E5%A4%A9%E5%9B%9E%E5%BF%86%E5%BD%95.md)
|
||||
4. [00后程序员摸爬滚打近一年,为学弟学妹们总结出了以下 7 条人生建议(建议收藏)](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/00%E5%90%8E%E7%A8%8B%E5%BA%8F%E5%91%98%E6%91%B8%E7%88%AC%E6%BB%9A%E6%89%93%E8%BF%91%E4%B8%80%E5%B9%B4%EF%BC%8C%E4%B8%BA%E5%AD%A6%E5%BC%9F%E5%AD%A6%E5%A6%B9%E4%BB%AC%E6%80%BB%E7%BB%93%E5%87%BA%E4%BA%86%E4%BB%A5%E4%B8%8B%207%20%E6%9D%A1%E4%BA%BA%E7%94%9F%E5%BB%BA%E8%AE%AE%EF%BC%88%E5%BB%BA%E8%AE%AE%E6%94%B6%E8%97%8F%EF%BC%89.md)
|
||||
5. [上海有哪些牛逼的互联网公司?](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496844&idx=1&sn=2113ff8b8d39b9eb7bd017e464865a2f&chksm=c2d7f305f5a07a1345db09be91ef2a4f16a6714bd052860e8e06bc886960a490aefd7116f303&token=2075738930&lang=zh_CN#rd)
|
||||
6. [校招进腾讯,二本也可以?](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496426&idx=1&sn=b9de117476d564271fb763dc65bcd896&chksm=c2d7f563f5a07c75a303b6f4491be9dd455a3e4a43a941e31eedb8576f1fd9388c5b7434b440&token=2075738930&lang=zh_CN#rd)
|
||||
|
||||
### 中间件
|
||||
### 🥥 中间件
|
||||
|
||||
1. [从 0 到 1 学习 elasticsearch ,这一篇就够了!(建议收藏)](https://github.com/BigDataScholar/TheKingOfBigData/blob/master/note/%E4%B8%AD%E9%97%B4%E4%BB%B6/%E4%BB%8E%200%20%E5%88%B0%201%20%E5%AD%A6%E4%B9%A0%20elasticsearch%20%EF%BC%8C%E8%BF%99%E4%B8%80%E7%AF%87%E5%B0%B1%E5%A4%9F%E4%BA%86%EF%BC%81(%E5%BB%BA%E8%AE%AE%E6%94%B6%E8%97%8F).md)
|
||||
2. [2w字,一文干掉 Kafka](https://mp.weixin.qq.com/s/7MLiPppz_euiCslPpsnz6A)
|
||||
3. [大白话认识 Kafka 背后优秀的架构设计](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496279&idx=1&sn=37467e6ea62d6c9ab9575403da94eee9&chksm=e8dbaa85dfac23935fc2a7b86936b0018d864c069aee7b77643936166986cf6021a8fa0f8e85&token=1693301572&lang=zh_CN#rd)
|
||||
### 其他技术
|
||||
### 🍟 其他技术
|
||||
|
||||
1. [零基础带你硬核了解并上手“Ansible“!](https://alice.blog.csdn.net/article/details/109771486)
|
||||
2. [Ansible进阶学习之Playbooks(剧本)的理解使用](https://alice.blog.csdn.net/article/details/109844469)
|
||||
@ -183,7 +188,7 @@
|
||||
8. [零基础学Docker【4】 | 一文带你理解Docker镜像原理之联合文件系统](https://alice.blog.csdn.net/article/details/109638410)
|
||||
9. [万字长文带你快速了解并上手Testcontainers](https://alice.blog.csdn.net/article/details/111790143)
|
||||
|
||||
### 企业级真实应用
|
||||
### 🥗 企业级真实应用
|
||||
1. [腾讯基于 Flink SQL 的功能扩展与深度优化实践](https://mp.weixin.qq.com/s/vgpeZKFR13sSPwvtPvaDNA)
|
||||
2. [网易云音乐基于 Flink + Kafka 的实时数仓建设实践](https://mp.weixin.qq.com/s/JcuW0_YDQj0rlgPMmuwzYQ)
|
||||
3. [阿里巴巴为什么能抗住90秒100亿?--服务端高并发分布式架构演进之路](https://mp.weixin.qq.com/s/fyTqrx8aj813KHdPAiYpXA)
|
||||
@ -194,31 +199,36 @@
|
||||
8. [Apache Doris 在京东广告的应用实践 ](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247493960&idx=1&sn=ccfa5073bf7d47eb85cfe9cf2475eecf&chksm=e8dbb19adfac388c36484241ddf78236f8af533ad159870be36c56cb3f528e35529cb28d55d3&token=1073059733&lang=zh_CN#rd)
|
||||
9. [猿辅导 x DorisDB:构建统一OLAP平台,全面升级数据分析能力](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496016&idx=2&sn=ffe549dccf3c72376478a29ba35359cf&chksm=e8dba982dfac20949ebc4acb759f30284b7a9e6f5eb3eed8c0f4e246d3fe4207c8aa3fb15788&token=1693301572&lang=zh_CN#rd)
|
||||
|
||||
### 超强总结
|
||||
### 🥤 超强总结
|
||||
1. [万字详解整个数据仓库建设体系](https://mp.weixin.qq.com/s/EHzya2zscZTnRe0GCVK4cA)
|
||||
2. [Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis | 附实践清单](https://mp.weixin.qq.com/s/WXoyhxF057VcJtncIYzECw)
|
||||
3. [架构师 | 数据仓库建设灵魂10问](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492069&idx=1&sn=f68def66bfd0354cd2adbbaf14da558e&chksm=e8dbb937dfac3021beb27373dc52d73b05ff0b2e0a1ea831829f608c4b03811a4d5aab23722a&token=1272273277&lang=zh_CN#rd)
|
||||
4. [基于 Flink SQL 构建流批一体的 ETL 数据集成](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492119&idx=1&sn=f382fb2cb02079319835d432baaecb2b&chksm=e8dbbac5dfac33d363198239e125113be797842abcd33841ae71d1bb366368e0a636b729e1d3&token=1272273277&lang=zh_CN#rd)
|
||||
5. [推荐一些热门的DevOps工具](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492239&idx=1&sn=47a8d70793326a3a97f61ccb9a4d181e&chksm=e8dbba5ddfac334b53b6c20ffcde7322b8c61106e0c1a2120604731fe0aadefe4ee17386aca6&token=1272273277&lang=zh_CN#rd)
|
||||
6. [使用 Flink 前需要知道的 10 个『陷阱』](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492303&idx=1&sn=3c86c64c9de9ef72453efac1740a642a&chksm=e8dbba1ddfac330bbb898a54485a3e7bab7366fd884beab134402fc4d9822258e904f2069afa&token=1272273277&lang=zh_CN#rd)
|
||||
7. [干货 | 实时数仓中的消息队列技术深度对比](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247494119&idx=1&sn=22486e3a4c85063f6e261a91a26226ca&chksm=e8dbb135dfac3823c6c81cf7c68179f6a2907cf10a4c9e002d67b8fb39cc00a3213db891f998&token=2100073657&lang=zh_CN#rd)
|
||||
8. [面试必备 | 10道海量数据处理,你会几道?](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247494221&idx=1&sn=05fffc2c0353007f1c76db578fc84a69&chksm=e8dbb29fdfac3b897fd3316ccde51a49b108a32a138e7c0ba054943fe2849c34717f531020e1&token=2100073657&lang=zh_CN#rd)
|
||||
9. [工作四年,分享50个优化代码的妙招](https://mp.weixin.qq.com/s/AKVdTdfbClN_bx4wk54NhA)
|
||||
10. [使用Redis,你必须知道的21个注意要点](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247495966&idx=1&sn=4e005615a68d1f3a81f19dbfc9da094e&chksm=e8dba9ccdfac20da6b2d78aa4eca9700c107797203368f8cbc9aa62a148549c71ecd1e8a1f24&token=1693301572&lang=zh_CN#rd)
|
||||
4. [推荐一些热门的DevOps工具](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492239&idx=1&sn=47a8d70793326a3a97f61ccb9a4d181e&chksm=e8dbba5ddfac334b53b6c20ffcde7322b8c61106e0c1a2120604731fe0aadefe4ee17386aca6&token=1272273277&lang=zh_CN#rd)
|
||||
5. [使用 Flink 前需要知道的 10 个『陷阱』](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492303&idx=1&sn=3c86c64c9de9ef72453efac1740a642a&chksm=e8dbba1ddfac330bbb898a54485a3e7bab7366fd884beab134402fc4d9822258e904f2069afa&token=1272273277&lang=zh_CN#rd)
|
||||
6. [干货 | 实时数仓中的消息队列技术深度对比](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247494119&idx=1&sn=22486e3a4c85063f6e261a91a26226ca&chksm=e8dbb135dfac3823c6c81cf7c68179f6a2907cf10a4c9e002d67b8fb39cc00a3213db891f998&token=2100073657&lang=zh_CN#rd)
|
||||
7. [面试必备 | 10道海量数据处理,你会几道?](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247494221&idx=1&sn=05fffc2c0353007f1c76db578fc84a69&chksm=e8dbb29fdfac3b897fd3316ccde51a49b108a32a138e7c0ba054943fe2849c34717f531020e1&token=2100073657&lang=zh_CN#rd)
|
||||
8. [工作四年,分享50个优化代码的妙招](https://mp.weixin.qq.com/s/AKVdTdfbClN_bx4wk54NhA)
|
||||
9. [使用Redis,你必须知道的21个注意要点](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247495966&idx=1&sn=4e005615a68d1f3a81f19dbfc9da094e&chksm=e8dba9ccdfac20da6b2d78aa4eca9700c107797203368f8cbc9aa62a148549c71ecd1e8a1f24&token=1693301572&lang=zh_CN#rd)
|
||||
10. [六千字总结:大数据框架(分区,分桶,分片)](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247497071&idx=1&sn=0ef89ef6f5fae4b946affec996b2c3e1&chksm=c2d7f2e6f5a07bf06e5f3bd183fec61692328218e765cdc2d4236ef107f84d00b7e449367bd9&token=2075738930&lang=zh_CN#rd)
|
||||
11. [有了这 27 个Linux 技巧,让你工作效率翻倍!](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496830&idx=1&sn=0ce5729efc6e0120cc6f3fd8bb84d348&chksm=c2d7f3f7f5a07ae1fcc44171c1e1e1fffcd9ef4a75c34a2e3bb040eb49315436cc8e8729aaf3&token=2075738930&lang=zh_CN#rd)
|
||||
12. [超牛逼!100 个开箱即用的 Shell 脚本,拿好了~](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496656&idx=1&sn=876c92caa1f470e3bd8f0652e36b7157&chksm=c2d7f459f5a07d4fd22b2d6a81dd1aa4cdfb26261b7e0870d15580391099880658aafe8a63e6&token=2075738930&lang=zh_CN#rd)
|
||||
13. [互联网大厂的秋招干货总结 | 建议收藏](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496522&idx=1&sn=81759a0ccef3d0ecd9255a2c3996b72d&chksm=c2d7f4c3f5a07dd5d8a48bca1bebb5c37cce5114665ebb750e449671828520f0fe251efa3503&token=2075738930&lang=zh_CN#rd)
|
||||
|
||||
### 精华面经
|
||||
### ☕ 精华面经
|
||||
1. [美团优选大数据开发岗面试真题-附答案详细解析](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247492683&idx=1&sn=6a7483a9ad93493555a52a419b960ed1&chksm=e8dbbc99dfac358f95524c7bc90a4a2dc4699ce376f19b613b2aee984bb03b1a31da9cd8cd7e&token=1777830110&lang=zh_CN#rd)
|
||||
|
||||
### 有趣有料
|
||||
### 🍯 有趣有料
|
||||
1. [ETL和ELT到底有啥区别???](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247494017&idx=1&sn=92c3f3991eeece3d092eeaa69bc25e89&chksm=e8dbb153dfac3845510b85da4c583bf3a2343e51b8180f908a43537173cebdbe14277558dbd7&token=1073059733&lang=zh_CN#rd)
|
||||
2. [为什么我们选择基于 Flink 搭建实时个性化营销平台?](https://mp.weixin.qq.com/s/451BFoJDbkvlDc0inOukcw)
|
||||
3. [以直播平台监控用户弹幕为例详解 Flink CEP](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496065&idx=1&sn=fc03486210be0a4bd447761b3b883bd3&chksm=e8dba953dfac204543b0e4ae750af0799b96f626d2de868f31b94151d4d148430dea062b4f7c&token=1693301572&lang=zh_CN#rd)
|
||||
4. [数据仓库领域常见建模方法及实例演示](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247496184&idx=1&sn=3e85a216b1f4b1c69811b4064999fdce&chksm=e8dba92adfac203cd521815ef23465a56cd9904d08b6d349c92aad9152f041fdb099752a437a&token=1693301572&lang=zh_CN#rd)
|
||||
5. [数据地图?地图数据?傻傻分不清楚!](https://mp.weixin.qq.com/s?__biz=MzIzNjM2MDEyNQ==&mid=2247495889&idx=1&sn=e44908c9982f2fd8e2ae6d83c09d3b62&chksm=e8dba803dfac2115425036af859c83fda42ac7cd002b581c138331c6c3c316905536d9a5d560&token=1693301572&lang=zh_CN#rd)
|
||||
6. [漫说数据湖 | 如何建湖?如何做数据ETL?为什么大数据需要数据湖?](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496226&idx=1&sn=348fb82d271e6547403513dc8d67642f&chksm=c2d7f5abf5a07cbdf26f9e0086ced3bcd1038bf3a5fb514515bb498cf242ff4cae2baebe6829&token=1681044289&lang=zh_CN#rd)
|
||||
7. [图解Git工作原理](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496767&idx=1&sn=bc90e1c900da05c53451145eed84438c&chksm=c2d7f3b6f5a07aa0a1160919bf67a624495bd1d7540d2b92790d8ce85545055c92844dc62c13&token=2075738930&lang=zh_CN#rd)
|
||||
8. [假如我是超级卷王 ... ](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496630&idx=1&sn=ee9cd0aab500c279938326bf8ae5401c&chksm=c2d7f43ff5a07d2990f8f966078ab254b3d1aa73d83f8875f0dcf597770a047230842c3efa51&token=2075738930&lang=zh_CN#rd)
|
||||
9. [上海有哪些互联网,你都知道么?](https://mp.weixin.qq.com/s?__biz=Mzk0MTI0OTI1NA==&mid=2247496389&idx=1&sn=5b379ed66f353ce2553dc54fdbb998b6&chksm=c2d7f54cf5a07c5afa3088fcc29be0002a3be894cf1e514a19c8aef35c9202a11d417876bcf4&token=2075738930&lang=zh_CN#rd)
|
||||
|
||||
|
||||
### 福利
|
||||
### 🍈 福利
|
||||
|
||||
1. [最新Java各知识点综合面试考点+大厂面试题](https://github.com/BigDataScholar/TheKingOfBigData/tree/master/resources/Java%E9%9D%A2%E8%AF%95%E9%A2%98)
|
||||
2. [上百本免费电子书](https://github.com/BigDataScholar/TheKingOfBigData/tree/master/resources/%E5%85%8D%E8%B4%B9%E7%9A%84%E7%94%B5%E5%AD%90%E4%B9%A6)
|
||||
|
||||
@ -1,243 +0,0 @@
|
||||
都说“金九银十”,马上十月份即将结束,相信还有相当多的小伙伴没找到合适的工作。在笔试过程中,总会出现那么一两道“有趣”的SQL题,来检测应聘者的一个逻辑思维,这对于初入职场的“小白”也是非常不友好。不用担心,本篇博客,博主整理了几道在面试中高频出现的“SQL”笔试题,助你在接下来的面试中一往无前,势如破竹!
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
***
|
||||
|
||||
## 1、查询连续登陆3天以上的用户
|
||||
这是一道非常经典的问题,这里提供其中一种思路。
|
||||
|
||||
表信息如下图:
|
||||
|
||||

|
||||
|
||||
|
||||
### step1: 用户登录日期去重
|
||||
因为一个用户同一天可能登录多次,所以我们首先需要用用户登录日期去重。
|
||||
|
||||
```sql
|
||||
select DISTINCT date(date) as "日期",id from demo01;
|
||||
```
|
||||
查询结果:
|
||||
|
||||

|
||||
|
||||
### step2: 用row_number() over()函数计数
|
||||
有了第一步去重后的结果,我们可以对其进行开窗,以id分组,日期升序排序,获取到每个日期的排名。
|
||||
```sql
|
||||
select *,row_number() over(PARTITION by id order by `日期`) as cum from (select DISTINCT date(date) as `日期`,id from demo01)a;
|
||||
```
|
||||
查询结果:
|
||||
|
||||

|
||||
相信看到这里,各位小伙伴已经看出其中的“玄机”了~为什么我们需要在这一步对时间进行一个排序呢?
|
||||
|
||||
可以发现,用row_number开窗之后的名次是连续的,那么如果日期也是连续的,它们的差值不就是一个固定的值了吗?
|
||||
|
||||
|
||||
### step3:日期减去计数值得到结果
|
||||
因为菌哥这里演示用的是hql,所以这里获取日期差值使用了`date_sub`函数。
|
||||
|
||||
```sql
|
||||
select *,date_sub(`日期`,cum) as `结果` from (select *,row_number() over(PARTITION by id order by `日期`) as cum from (select DISTINCT date(date) as `日期`,id from demo01)a)b;
|
||||
```
|
||||
|
||||
查询结果:
|
||||
|
||||

|
||||
|
||||
### step4:根据id和结果分组并计算count
|
||||
最后一步,我们直接根据step3中获取到的差值,根据id和差值进行一个分组求count即可。如果是要求连续登录3天以上,我们直接判断 count 的个数大于等于3即可。
|
||||
|
||||
|
||||
```sql
|
||||
select id,count(*) from (select *,date_sub(`日期`,cum) as `结果` from (select *,row_number() over(PARTITION by id order by `日期`) as cum from (select DISTINCT date(date) as `日期`,id from demo01)a)b)c GROUP BY id,`结果` having count(*)>=3;
|
||||
```
|
||||
|
||||
运行结果:
|
||||

|
||||
|
||||
答案已经出来了,id为1和3的用户至少连续登录了3天及以上,他们分别连续登录的时长为3天和4天。
|
||||
|
||||
|
||||
## 2、统计每个用户的累计访问次数
|
||||
这个同样也是经常在笔试中出现的题目,大家可以根据作者的思路回顾一下:
|
||||
|
||||
|
||||
表信息如下图:
|
||||
|
||||

|
||||
要求使用SQL统计出每个用户的累积访问次数,如下表所示:
|
||||
| 用户id | 月份 |小计|累积
|
||||
|--|--|--|--|
|
||||
|u01 | 2017-01 |11|11
|
||||
|u01|2017-02|12|23
|
||||
|u02|2017-01|12|12
|
||||
|u03|2017-01|8|8
|
||||
|u04|2017-01|3|3
|
||||
|
||||
|
||||
### step1: 修改数据格式
|
||||
|
||||
从结果反推,需要查询实现按照 **年-月** 分组的数据,所以我们这一步先对原数据进行一个处理。
|
||||
|
||||
```sql
|
||||
select
|
||||
userId,
|
||||
date_format(regexp_replace(visitDate,'/','-'),'yyyy-MM') mn,
|
||||
visitCount
|
||||
from
|
||||
action;t1
|
||||
```
|
||||
|
||||
处理结果:
|
||||

|
||||
|
||||
### step2: 计算每人单月访问量
|
||||
为了让子查询看起来更加的美观,我们这里先用t1代替上一步的结果。通过这一步,我们就可以获取到每个用户,每个月的访问量。
|
||||
|
||||
```sql
|
||||
select
|
||||
userId,
|
||||
mn,
|
||||
sum(visitCount) mn_count
|
||||
from
|
||||
t1
|
||||
group by userId,mn;t2
|
||||
```
|
||||
|
||||
查询的结果:
|
||||
|
||||

|
||||
|
||||
### step3: 按月累计计算访问量
|
||||
我们将第二步的结果用变量 t2 来表示。到这一步,我们用一个sum开窗函数,对userid进行分组,mn时间进行排序即可大功告成。
|
||||
|
||||
```sql
|
||||
select
|
||||
userId,
|
||||
mn,
|
||||
mn_count,
|
||||
sum(mn_count) over(partition by userId order by mn) mn_all
|
||||
from t2;
|
||||
```
|
||||
|
||||
最终结果:
|
||||
|
||||

|
||||
### 完整SQL
|
||||
<font color='red'>温馨提示:</font><font color='gray'>上述的步骤展示的都是不完整的SQL,每步使用变量代替前一步的SQL语句只是为了方便给大家展示,实际上运行的结果都是作者将完整的SQL放进去跑的哈~</font>
|
||||
|
||||
```sql
|
||||
select
|
||||
userId,
|
||||
mn,
|
||||
mn_count,
|
||||
sum(mn_count) over(partition by userId order by mn) mn_all
|
||||
from
|
||||
( select
|
||||
userId,
|
||||
mn,
|
||||
sum(visitCount) mn_count
|
||||
from
|
||||
(select
|
||||
userId,
|
||||
date_format(regexp_replace(visitDate,'/','-'),'yyyy-MM') mn,
|
||||
visitCount
|
||||
from
|
||||
action)t1
|
||||
group by userId,mn)t2;
|
||||
```
|
||||
|
||||
## 3、分组TopN
|
||||
有50W个店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop。
|
||||
|
||||
|
||||

|
||||
|
||||
需求:每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数。
|
||||
|
||||
### step1:查询每个店铺被每个用户访问次数
|
||||
因为我们最终需要获取每个店铺访问量top3的用户信息,所以在这一步,我们就先把每个店铺的每个用户的访问次数计算出来。
|
||||
|
||||
```sql
|
||||
select shop,user_id,count(*) ct
|
||||
from visit
|
||||
group by shop,user_id;t1
|
||||
```
|
||||
|
||||
计算结果:
|
||||
|
||||

|
||||
### step2:计算每个店铺被用户访问次数排名
|
||||
有了第一步每个店铺下所被访问用户的访问量,我们想获取前三,毫无疑问,我们需要使用到开窗函数 rank。
|
||||
|
||||
可能就有朋友问了,为什么不能用 **row_number** ?
|
||||
|
||||
主要还是 **row_number** 对于相同数据的排名不是一样的,如果我们取Topic3,出现了相同访问次数的数据,那我们肯定都得保留下来的对吧~~
|
||||
|
||||
```sql
|
||||
select shop,user_id,ct,rank() over(partition by shop order by ct) rk
|
||||
from t1;t2
|
||||
```
|
||||
|
||||
计算结果:
|
||||
|
||||

|
||||
### step3: 取每个店铺排名前3的数据
|
||||
有了 step2 的结果,我们想要取每个店铺前三的数据岂不是轻而易举~
|
||||
|
||||
```sql
|
||||
select shop,user_id,ct
|
||||
from t2
|
||||
where rk<=3;
|
||||
```
|
||||
|
||||
计算结果:
|
||||
|
||||

|
||||
### 完整SQL
|
||||
好了,结果已经查询出来了,这里把上面step的SQL整合到一起~
|
||||
|
||||
```sql
|
||||
select
|
||||
shop,
|
||||
user_id,
|
||||
ct
|
||||
from
|
||||
(select
|
||||
shop,
|
||||
user_id,
|
||||
ct,
|
||||
rank() over(partition by shop order by ct) rk
|
||||
from
|
||||
(select
|
||||
shop,
|
||||
user_id,
|
||||
count(*) ct
|
||||
from visit
|
||||
group by
|
||||
shop,
|
||||
user_id)t1
|
||||
)t2
|
||||
where rk<=3;
|
||||
```
|
||||
## 结语
|
||||
我们不论是看书还是刷题,不在于数量多少,而一定要求“精”。这就要求我们学会去思考,学会举一反三。真正具备解题能力的人,我相信一定不是把时间花在大量刷题上,而是懂得从不同类型的习题上,及时总结复习的人。
|
||||
|
||||
以上3道SQL“小菜”怕是满足不了大伙,以后有机会再为大家总结些别的题目,本篇文章到这里就结束了。对技术宇宙充满好奇,喜欢本文的朋友,可以扫码关注作者原创公众号【大数据梦想家】,我们下期见!
|
||||
|
||||
<img src="https://img-blog.csdnimg.cn/20210119135940253.png" width = 99% height = 50% />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user